gpt4 book ai didi

pdf - 将matplotlib填充轮廓图保存为.pdf或.eps时的别名

转载 作者:行者123 更新时间:2023-12-04 16:46:17 24 4
gpt4 key购买 nike

我正在使用matplotlib.pyplot.contourf()函数生成场轮廓图。该函数调用中的参数为:

contourf(xvec,xvec,w,levels,cmap=matplotlib.cm.jet)

在哪里
xvec = numpy.linspace(-3.,3.,50)
levels = numpy.linspace(-0.01,0.25,100)

w是我的数据。

生成的图在屏幕上看起来相当不错,但是当我使用对matplotlib.pyplot.savefig()的调用将其保存为pdf时,生成的pdf发生了很多混叠现象(我想就是这样)。对savefig的调用只是 savefig('filename.pdf')。我尝试使用dpi参数,但是没有运气。调用 matplotlib.get_backend()会弹出“TkAgg”。

我将附加一个另存为pdf的图形,与一个另存为png的图形(类似于屏幕上的外观)进行比较,以演示该问题:

png别名混叠: https://dl.dropbox.com/u/6042643/wigner_g0.17.png

带有别名的pdf: https://dl.dropbox.com/u/6042643/wigner_g0.17.pdf

请让我知道是否有其他我可以提供的详细信息,以帮助您给出答案。我应该提到,另存为.eps会产生与保存为pdf相似的不良结果。但是pdf文件更清楚地显示了问题。我的目标是最终获得生产质量的.eps文件,我可以将其附加到 latex 文档上,以科学论文的形式发表。如果我能找到一种令人满意的结果的方式,我会对围绕一种格式保存的工作感到满意,然后将其转换。

最好的,

Arne

最佳答案

在使用@pelson的有用答案一段时间后,我终于找到了解决这个长期存在的问题(当前在Matplotlib 2.0中使用)的适当方法,该问题不需要多次调用即可对图形进行轮廓化或栅格化。

我可以引用原始答案here以获得更广泛的解释和示例。

总而言之,该解决方案由以下几行组成:

cnt = plt.contourf(x, y, z)

for c in cnt.collections:
c.set_edgecolor("face")

plt.savefig('test.pdf')

关于pdf - 将matplotlib填充轮廓图保存为.pdf或.eps时的别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15822159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com