【发布时间】:2014-01-14 22:04:55
【问题描述】:
我正在尝试绘制一个漂亮的矩阵,其中突出显示了一些列。我对下面代码的结果非常满意。
import matplotlib.pyplot as plt
import numpy as np
plt.pcolormesh(np.random.rand(10,10), cmap = 'Greys')
plt.axvspan(3,6, color = 'red', alpha = 0.2)
plt.show()
它提供了一个图像,保存为 .png,看起来像
这个。问题是,如果我将图像保存为 eps,图像会变得更糟,看起来像
https://dl.dropboxusercontent.com/u/8162527/figure_1.eps
这个。你可以想象,第二种变体对我来说不是一个选择。
我尝试将漂亮的 png 图像转换为 eps,它有点工作。问题是生成的图像不可缩放,并且比原始图像大 100 倍(文件大小)。我迫切需要想法。
【问题讨论】:
-
文件大小的增加值得reading the answers to this SO question。如果您需要 eps 只是因为它是矢量图形,那么将文件另存为
.svg会正确产生透明度。 -
我对此知之甚少,无法给出明确的答案,但阅读en.wikipedia.org/wiki/… 表明,对这种透明度的支持在后记中是偶然的。值得一提的是,它适用于 SVG 和 PDF 格式。
-
谢谢,确实,保存为 .svg 会产生正确的透明胶片,但是我需要一个 .eps 版本才能放入我的 LaTeX 文件中。问题是,当我将 svg 转换为 eps 时,图像变得奇怪。我只尝试了一些在线服务的转换,您有什么建议吗?
-
我想建议使用 pdflatex 不会有太大帮助?
-
@WarrenWeckesser 不是一个真正的选择,不。我不是本文的主要作者,所以编译方法不是我的电话:)
标签: python matplotlib export alpha