如何在Jupyter Notebook中放大内联图?


262

我已在我的Ipython Notebook上使用“ %matplotlib inline” 内嵌我的图。

现在,该图出现。但是,它很小。有没有办法使用笔记本设置或绘图设置使其显得更大?

在此处输入图片说明

Answers:


172

是的,figuresize像这样玩(在调用子图之前):

fig=plt.figure(figsize=(18, 16), dpi= 80, facecolor='w', edgecolor='k')

28
对于此特定情况,f((ax1,ax2,ax3)= plt.subplots(1,3,sharex ='col',sharey ='row',figsize =(18,16))
Rol

11
不起作用。在我的情况下,更改figsize仅会更改纵横比。总数字的宽度保持不变
Aleksejs Fomins 18/12/3

这对于数字太大而无法容纳在页面上是正确的,然后缩放停止。如您所述,它对于更改纵横比仍然很有用。
roadrunner66 '19

1
将dpi增加到“ 200”可提供比仅更改图形大小更好的结果。
Adithya Bhat

是的,请参见下面的@Hagne。
roadrunner66

402

默认图形大小(以英寸为单位)由

matplotlib.rcParams['figure.figsize'] = [width, height]

例如:

import matplotlib.pyplot as plt
plt.rcParams['figure.figsize'] = [10, 5]

创建一个10(宽)x 5(高)英寸的图形


7
实际上,如果所有人的地块尺寸都错了,这作为设置即忘的策略会更加有用。
ijoseph

2
大。挣扎着熊猫盒图的大小,并对此进行了修复。由于某种原因,该figsize=(x,y)论点在jupyter中无效。但是,matplob.rcParams按照您的建议进行修改非常有效。
0_0

29
确保在运行运行此程序%matplotlib inline
uut

@uut这不是默认值吗?
Verena Haunschmid

4
%matplotlib inline设置rcParams后运行的@VerenaHaunschmid似乎会将图形大小覆盖为默认值。
uut

62

我发现 %matplotlib notebook与内联Jupyter笔记本相比,这种方法对我来说更好。

请注意,如果您以前使用%matplotlib inline过,则可能需要重新启动内核。

2019年更新:如果您正在运行Jupyter Lab,则可能要使用 %matplotlib widget


5
也许这在某些情况下可行,但是当我在我的上尝试时,它给了我一个具有熊猫数据框的空白图像df.plot()。我不得不回到%matplotlib inline
tsando 2017年

8
@tsando我已经看到一个问题,从该问题切换%matplotlib inline%matplotlib notebook不重新启动内核会产生空白输出。从切换%matplotlib notebook%matplotlib inline正常工作。
SlimCheney

4
谢谢@SlimCheney,我确认你说的是真的-如果你重新启动内核它的工作原理
tsando

1
这绝对比尝试手动设置平移和缩放组件要
好得多

1
即使重新启动内核,它也不起作用。它给出了空白输出
Kardi Teknomo'1

31

如果您只希望图形显示更大而不改变图形的一般外观,则可以提高图形分辨率。根据大多数其他答案中的建议更改图形大小会改变外观,因为字体大小不会相应缩放。

import matplotlib.pylab as plt
plt.rcParams['figure.dpi'] = 200

19

问题是关于matplotlib,但是为了所有最终在此处获得与语言无关的标题的R用户的缘故:

如果您使用的是R内核,则只需使用:

options(repr.plot.width=4, repr.plot.height=3)

11

调整一个图形的大小:

import matplotlib.pyplot as plt

fig=plt.figure(figsize=(15, 15))

要更改默认设置,从而更改所有图,请执行以下操作:

import matplotlib.pyplot as plt

plt.rcParams['figure.figsize'] = [15, 15]

0

一次性调整图形大小的一个小而重要的细节(如上述几位评论者所说,“这对我不起作用”):

您应该在定义实际图之前做plt.figure(figsize =(,))。例如:

这应该根据您指定的figsize正确调整图的大小:

values = [1,1,1,2,2,3]
_ = plt.figure(figsize=(10,6))
_ = plt.hist(values,bins=3)
plt.show()

而这将显示具有默认设置的图,似乎“忽略”了figsize:

values = [1,1,1,2,2,3]
_ = plt.hist(values,bins=3)
_ = plt.figure(figsize=(10,6))
plt.show()
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.