Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python matplotlib-更改figsize,但保持fontsize不变_Python_Matplotlib_Figure - Fatal编程技术网

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笔记本上的图形,可以看到完整大小的图形