matplotlib - 更改图大小但保持字体大小不变

2023-12-10

我想显示几个不同大小的图形,确保打印图形时文本始终具有相同的大小。我怎样才能做到这一点?

举个例子。假设我有两个数字:

import matplotlib.pylab as plt
import matplotlib as mpl

mpl.rc('font', size=10)

fig1 = plt.figure(figsize = (3,1))
plt.title('This is fig1')
plt.plot(range(0,10),range(0,10))
plt.show()


mpl.rc('font', size=?)

fig2 = plt.figure(figsize = (20,10))
plt.title('This is fig2')
plt.plot(range(0,10),range(0,10))
plt.show()

如何设置字体大小,以便打印时图 1 中的标题和轴刻度标签与图 2 中的标题和轴刻度标签具有相同的大小?


在这种情况下,字体大小将相同(即也是 10 磅)。

但是,在 Jupyter Notebook 中,如果数字太宽,则可能会以不同的尺寸显示,请参见下文:

Jupyter Notebook example

请注意,以磅为单位的字体大小具有线性比例,因此如果您希望字母的大小恰好是两倍大,则需要输入以磅为单位的两倍大小(例如 20pt)。这样,如果您希望以原始大小(长度和宽度,而不是面积)的 50% 打印第二个数字,则字体大小将相同。

但是,如果此脚本的唯一目的是制作图形然后打印,则最好根据需要设置大小(在纸张上或屏幕上),然后使字体大小相等。然后,您可以将它们以精确的尺寸或比例粘贴到文档中,并且字体确实会具有相同的尺寸。


正如所指出的tcaswell, bbox_inches='tight'有效地改变了保存的图形的大小,使大小与您设置的不同figsize。由于这可能会从某些图形中裁剪出比其他图形更多的空白,因此对于给定的宽高比,对象和字体的相对大小最终可能会有所不同。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

matplotlib - 更改图大小但保持字体大小不变 的相关文章

随机推荐