【发布时间】:2018-05-17 22:18:12
【问题描述】:
我已经使用 matplotlib 创建了一个图形,但我已经意识到绘图轴和绘制的线被缩小了。
阅读此earlier discussion thread,它解释了如何设置图形大小。
fig, ax = plt.subplots()
fig.set_size_inches(3, 1.5)
plt.savefig(file.jpeg, edgecolor='black', dpi=400, facecolor='black', transparent=True)
使用上面的代码(为简洁起见,删除了其他配置),我确实得到了一个具有1200 X 600 所需尺寸(我们也应该说分辨率?)和所需文件大小的图像文件。
投影图像以不寻常的方式缩小,例如放大注释。虽然我可以在轴上设置标签的大小,但由于底部和右侧的脊椎很大,绘制的线也很大,因此该图看起来与比例不成比例。
因此问题是,哪些配置出了问题?
【问题讨论】:
-
我不太明白这个问题。但我能说的是,当图形大小以英寸和 dpi为单位时,您需要更改您认为“太大”的对象的大小,即设置字体大小,线宽,刻度线等更小。通常,您只需将 dpi 或 尺寸固定为英寸即可获得所需的数字。
-
@ImportanceOfBeingErnest 我创建了一张图片,结果是所需尺寸,文件大小在所需范围内。然而,绘制的图表被证明过于放大/缩小。阅读其他线程似乎可能存在缩放和纵横比问题。您声明每个元素大小的建议听起来很不寻常,因为我认为应该有一种方法可以根据先前设置的 figsize() 和 dpi 参数自动调整画布中的所有元素。
-
让我再试一次:如果例如像素尺寸为
1200 X 600,您通常会创建一个尺寸为(12 x 6)英寸和100 dpi 的图形,在这种情况下,线条的尺寸可能足够大。使用 400 的 dpi 会使图中的每个点变大 4 倍。显然这不是你想要的。但是如果你需要它,你可以按比例缩小元素(例如,用 0.25 而不是 1 制作线条)。 (这里没有缩放或方面的问题,这就是它的工作原理和预期。) -
看你提到的评论,这是完全不同的东西;它告诉您,即使您使用方形图形,您也不会得到方形轴。这与你这里的问题完全无关。
-
我想我明白你的意思。我对 dpi 和 figsize(x,y) 之间关系的理解与您所解释的略有不同。根据您的评论,我已经测试了您的建议,看起来很有希望。也许我应该更改问题的标题...
标签: matplotlib plot graph visualization