【发布时间】:2013-10-19 05:17:36
【问题描述】:
我在 matplotlib 中使用imshow 绘制多个图像,以及使用zorder 关键字在它们之间绘制一些矢量数据。
小例子:
import numpy as np
import matplotlib.pyplot as plt
img = np.arange(100).reshape((10,10))
plt.imshow(img, extent = [0.25, 0.75, 0.25, 0.75], zorder = 10)
plt.imshow(img, extent = [0.1, 0.9, 0.1, 0.9], zorder = 1)
plt.plot([0, 1], [0, 1], color = 'black', zorder = 5)
plt.axis([0, 1, 0, 1])
plt.savefig('img.png')
导出为 PNG 时,输出与预期一致。但是,当保存为 PDF(或 EPS、SVG、...)时,不考虑 zorder(线条绘制在两个图像上)。导出时,这两个图像似乎合并为一个图像。通过使用pcolormesh 而不是imshow 将图像保存为矢量而不是光栅可以工作,但是在绘制大图像时生成的 PDF 会很大。有没有办法使用imshow 进行这项工作?
【问题讨论】:
-
请创建问题。
标签: python pdf matplotlib