Python的绘图:我怎样才能让matplotlib.pyplot停止强迫我标记的风格?
-
23-08-2019 - |
题
我想用Python中绘制一组数据点(成千上万)的 matplotlib 所以我需要每个标记是非常小的,精确。如何获得最小最简单的标记可能吗?我用这个命令来绘制我的数据:
matplotlib.pyplot( x , y ,'.',markersize=0.1,linewidth=None,markerfacecolor='black')
然后,我可以看看它或者与pl.show()
并保存它。或者直接使用plt.savefig('filename.ps')
在代码中保存。问题是这样的:当我使用pl.show()
查看该文件中的GUI它看起来很棒小小黑点标记,但是当我从show()
GUI保存到一个文件,或者使用直接savefig
然后查看我创建了ps
它看起来不同!每个标记已获得它周围的小蓝晕(好象它开始在每个点给他们使用默认的蓝线连接,但没有)和风格是完全错误的。它为什么会改变风格保存时?如何从强制标记的风格停止蟒蛇?是的,我已经看过一些替代产品如 CairoPlot ,但我要使用matplotlib现在保持。
更新:事实证明,保存为PNG首先使颜色变成还好,但是当我想在以后再次保存它作为一个.ps
它迫使图像的转换(列入在PDF),然后我失去质量。如何保存文件的矢量性质,并得到正确的格式?
解决方案
有关好看的矢量化输出,不使用'.'
标记样式。例如使用'o'
(圆形)或's'
(正方形)(参见选项help(plot)
)并设置markersize
关键字参数的东西适当地小,e.g:
plot(x, y, 'ko', markersize=2)
savefig('foo.ps')
这'.'
(点)产生较少的好的结果可能被解释为以matplotlib一个错误,但随后,什么应“点”在一个向量图形格式是什么意思?
其他提示
您是否尝试过','
点形状?它创建 “像素”(小点,代替形状)。
您可以用markersize
选项发挥出色,这种形状?
如果你没有,你应该尝试在一个光栅化引擎保存 - 保存为PNG文件,看看是否能解决它。如果你需要一个向量图,尽量保存到PDF,并与外部工具转换。我已经与受与此Agg或PDF引擎保存和外部转换解决了PS引擎之前也有问题。