我是一位有用的助手,能够翻译文本。
我正在尝试使用matplotlib绘制我的模拟结果的3D热图。我已经阅读了这个主题并尝试使用imshow。不幸的是,当我以SVG或EPS格式保存图像时,它会将热图转换为图片(这对于期刊来说是不可接受的)。因此,我也尝试了hexbin - 但图片看起来很奇怪。我不确定期刊是否会接受它。我们是否还有其他选择,或者我必须通过矩形填充热图?
例如,如果运行以下代码:
import numpy as np
import numpy.random
import matplotlib.pyplot as plt
# Generate some test data
x = np.random.randn(8873)
y = np.random.randn(8873)
heatmap, xedges, yedges = np.histogram2d(x, y, bins=50)
extent = [xedges[0], xedges[-1], yedges[0], yedges[-1]]
print extent
print heatmap
plt.clf()
surf = plt.imshow(heatmap, extent=extent)
plt.colorbar(surf, shrink=0.75, aspect=5)
plt.show()
并保存SVG文件,其中包含PNG图像:
<g clip-path="url(#p6def4f5150)">
<image height="347" width="315" x="115.127800906" xlink:href="data:image/png;base64,
我在OpenSUSE和Ubuntu操作系统下使用版本为1.1.1的matplotlib。