Python 使用matplotlib和alpha值导出地物
我正在用下面的代码绘制两个相交的透明直方图。当我看到在iPython中运行代码时弹出的图时,一切看起来都和预期的一样。 当我以png格式导出这个图形时,一切都很好,但是当我以eps格式导出它时,透明度消失了,我看不到直方图的相交部分。我想出口的eps格式与透明度。如有任何建议,将不胜感激Python 使用matplotlib和alpha值导出地物,python,matplotlib,Python,Matplotlib,我正在用下面的代码绘制两个相交的透明直方图。当我看到在iPython中运行代码时弹出的图时,一切看起来都和预期的一样。 当我以png格式导出这个图形时,一切都很好,但是当我以eps格式导出它时,透明度消失了,我看不到直方图的相交部分。我想出口的eps格式与透明度。如有任何建议,将不胜感激 import numpy from matplotlib import pyplot as plt d1 = numpy.random.normal(-0.2, 0.25, 5000) d2 = numpy.
import numpy
from matplotlib import pyplot as plt
d1 = numpy.random.normal(-0.2, 0.25, 5000)
d2 = numpy.random.normal(0.2, 0.25, 5000)
bins = numpy.linspace(-1,1,30)
fig = plt.figure(1,figsize=(30.0, 15.0))
plt.ion()
plt.hist(d1, bins, alpha=0.5, normed=1)
plt.hist(d2, bins, alpha=0.5, normed=1)
plt.show()
plt.savefig('myfig.eps') # <-- loses transparency
plt.savefig('myfig.png') # <-- preserves transparency
导入numpy
从matplotlib导入pyplot作为plt
d1=numpy.random.normal(-0.2,0.255000)
d2=numpy.随机.正常(0.2,0.255000)
bin=numpy.linspace(-1,1,30)
图=plt.图(1,figsize=(30.0,15.0))
plt.ion()
plt.hist(d1,箱,α=0.5,标准=1)
plt.历史(d2,箱,α=0.5,标准=1)
plt.show()
plt.savefig('myfig.eps')#您可以在保存图形之前将其栅格化,以在eps文件中保持透明度:
ax.set_rasterized(True)
plt.savefig('rasterized_fig.eps')
有关更多可能的解决方案,请参见此处:
EPS有,所以如果可能,我会尽量避免使用EPS。PDF可以接受吗?因为绘图用于latex文档,所以PDF可以接受,并且可以保持透明度。我只是不认为在Matlab中类似的东西对我有用。无论如何,这解决了问题,并保持我的图形矢量化。谢谢可能重复的