Python matplotlib-更改figsize,但保持fontsize不变
我想显示几个不同大小的图形,确保打印图形时文本的大小始终相同。我怎样才能做到这一点 举个例子。假设我有两个数字:Python matplotlib-更改figsize,但保持fontsize不变,python,matplotlib,figure,Python,Matplotlib,Figure,我想显示几个不同大小的图形,确保打印图形时文本的大小始终相同。我怎样才能做到这一点 举个例子。假设我有两个数字: 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
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笔记本电脑中,如果图形太宽,可能会以不同的大小显示,请参见以下内容: 请注意,以点为单位的字体大小具有线性比例,因此如果您希望字母的大小正好是两倍大,则需要以点为单位输入两倍大小(例如,20pt)。这样,如果您希望以原始大小(长度和宽度,而不是面积)的50%打印第二个图形,则字体大小相同 但是,如果此脚本的唯一目的是生成要打印的图形,则最好根据需要设置大小(在纸上或屏幕上),然后使字体大小相等。然后,您可以将它们以精确的大小或比例粘贴到文档中,而字体的大小实际上是相同的
如所述,
bbox\u inches='tight'
有效地更改了已保存图形的大小,因此大小与您设置为figsize的大小不同。由于这可能会从某些图形中截取比其他图形更多的空白,因此对于给定的纵横比,对象和字体的相对大小可能会有所不同 我不知道你说的“印刷时”是什么意思。你的意思是“打印在纸上”、“显示在屏幕上”还是“保存到文件中”。如果使用相同的字体大小,则字体大小将相同。改变图形大小会改变字体的相对大小——与图形大小相比,而不是字体大小本身。这可能也很有趣:请注意bbox_inches='tight'
,它将重新调整/裁剪您的图形,如果您在例如latex中固定图形大小,则可以有效地调整字体大小。啊,是的,这是一个很好的观点!将此添加到答案中。我想知道是否还有其他警告。谢谢!我只是感到困惑,因为当数字显示在jupyter笔记本上时,fontsize在这两种情况下会发生变化。但是,在保存数字后,字体大小是相同的。我相信这是因为它不适合屏幕。我想我可以复制你说的话(你是否在顶部附近添加%matplotlib inline
),但如果我将大小更改为足够小以适应浏览器,字体大小看起来是一样的。我发现,在内联模式下双击jupyter笔记本上的图形,可以看到完整大小的图形