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

现在,情节出现了。然而,它非常小。有没有办法让它看起来更大使用笔记本设置或情节设置?


当前回答

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

在定义实际的绘图之前,应该先执行plt.figure(figsize=(,))。例如:

这将根据您指定的figsize正确地调整plot的大小:

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()

其他回答

是的,像这样处理figuresize和dpi(在你调用subplot之前):

fig=plt.figure(figsize=(12,8), dpi= 100, facecolor='w', edgecolor='k')

正如@tacaswell和@Hagne指出的,如果不是一次性的,你也可以改变默认值:

plt.rcParams['figure.figsize'] = [12, 8]
plt.rcParams['figure.dpi'] = 100 # 200 e.g. is really fine, but slower

如果您只想让图形的图像显得更大,而不改变图形的总体外观,请增加图形分辨率。按照大多数其他答案中建议的方法更改图形大小将改变外观,因为字体大小不会相应缩放。

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

可以将图缩放到整个单元格宽度。

主要绘制折线图时,使用svg格式代替位图:

%config InlineBackend.figure_format = 'svg'

强制绘图为100%宽度(粘贴到一个空单元格中):

%%html
<style>
.output_svg div{
  width: 100% !important;
  height: 100% !important;
}
</style>

您可能还想根据其他答案更改纵横比或其他参数,以便更好地了解。

它没有使用公共API,可能有一天会停止工作。

用类似这样的话:

import matplotlib.pyplot as plt
%matplotlib inline
plt.subplots(figsize=(18,8 ))
plt.subplot(1,3,1)
plt.subplot(1,3,2)
plt.subplot(1,3,3)

命令的输出

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

在定义实际的绘图之前,应该先执行plt.figure(figsize=(,))。例如:

这将根据您指定的figsize正确地调整plot的大小:

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()