- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用 matplotlib 在 Python 中绘制一堆数据点(数千个)所以我需要每个标记都非常小且精确。如何获得尽可能小的最简单的标记?我使用这个命令来绘制我的数据:
matplotlib.pyplot( x , y ,'.',markersize=0.1,linewidth=None,markerfacecolor='black')
然后我可以用 pl.show()
查看它然后保存它。或者直接用plt.savefig('filename.ps')
在代码中保存它。问题是这样的:当我使用 pl.show()
时要在 GUI 中查看文件,它看起来很棒,带有微小的黑色标记,但是当我从 show()
保存时GUI 到文件或直接使用 savefig
然后查看 ps
我创建它看起来不同!每个标记周围都有一个蓝色的小光晕(好像它从每个点开始用默认的蓝线连接它们,但实际上并没有)并且样式完全错误。为什么保存时会改变样式?如何阻止 python 强制标记的样式?是的,我已经查看了一些替代包,例如 CairoPlot ,但我现在想继续使用 matplotlib。
更新:事实证明,首先保存为 PNG 使颜色正常,但是当我想再次将其保存为 .ps
时它会强制转换图像。后来(为了包含在 PDF 中)然后我失去了质量。如何保留文件的矢量性质并获得正确的格式?
最佳答案
要获得漂亮的矢量化输出,请不要使用 '.'
标记样式。使用例如'o'
(圆)或 's'
(正方形)(有关选项,请参阅 help(plot)
)并设置 markersize
关键字参数到适当小的东西,例如:
plot(x, y, 'ko', markersize=2)
savefig('foo.ps')
'.'
(点)产生不太好的结果可以解释为 matplotlib 中的错误,但是,应该矢量图形中的“点”是什么意思格式?
关于Python 绘图 : How can I make matplotlib. pyplot 停止强制我的标记样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/544542/
我是一名优秀的程序员,十分优秀!