如何在Jupyter笔记本中制作内联图?

don*_*lan 204 python matplotlib ipython jupyter-notebook

我用" %matplotlib inline." 在我的Ipython笔记本上内嵌了我的情节.

现在,情节出现了.但是,它非常小.是否有办法使用笔记本设置或绘图设置使其看起来更大?

在此输入图像描述

tac*_*ell 316

默认的数字大小(以英寸为单位)由

matplotlib.rcParams['figure.figsize'] = [width, height]
Run Code Online (Sandbox Code Playgroud)

例如:

import matplotlib.pyplot as plt
plt.rcParams['figure.figsize'] = [10, 5]
Run Code Online (Sandbox Code Playgroud)

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

  • 确保运行此_after_运行`%matplotlib inline`. (24认同)
  • 如果所有人的情节都是错误的,那么这实际上更有用,因为它是一种"一劳永逸"的策略. (6认同)
  • @VerenaHaunschmid在设置rcParams后运行`%matplotlib inline`似乎会将图形大小改写回默认值。 (3认同)
  • 大。挣扎着熊猫盒图的大小,并对此进行了修复。由于某种原因,`figsize =(x,y)`参数在jupyter中无效。但是,正如您建议的那样,修改`matplob.rcParams`可以很好地工作。 (2认同)

roa*_*r66 141

是的,figuresize像这样玩(在你打电话给你的子情节之前):

fig=plt.figure(figsize=(18, 16), dpi= 80, facecolor='w', edgecolor='k')
Run Code Online (Sandbox Code Playgroud)

  • f,(ax1,ax2,ax3)= plt.subplots(1,3,sharex ='col',sharey ='row',figsize =(18,16))这个具体案例 (23认同)
  • 不行.在我的情况下改变figsize只会改变宽高比.总数的宽度保持不变 (8认同)

Sli*_*ney 57

我发现这%matplotlib notebook对我来说比使用Jupyter笔记本更好.

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

  • @tsando我看到一个问题,从`%matplotlib inline`切换到'%matplotlib notebook`而不重新启动内核会产生一个空白输出.从`%matplotlib notebook`切换到`%matplotlib inline`工作正常. (7认同)
  • 也许这在某些情况下有效,但是当我在我的手上尝试这个时,它给了我一个带有pandas数据帧`df.plot()`的空白图像.我不得不回到`%matplotlib inline` (4认同)
  • 谢谢@SlimCheney,我确认你说的是真的 - 如果你重新启动内核它会起作用 (4认同)
  • 请注意,%matplotlib 笔记本不再适用于 Jupyter Lab (2认同)
  • 我在使用“%matplotlib widget”时遇到了很多麻烦,直到我按照[自述文件中的说明](https://github.com/matplotlib/ipympl#installation)(特别是“jupyter labextension install @jupyter-widgets/jupyterlab-manager” `)。 (2认同)

Jar*_*ber 16

问题是关于matplotlib,但为了任何R用户,最终在这里给出了与语言无关的标题:

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

options(repr.plot.width=4, repr.plot.height=3)
Run Code Online (Sandbox Code Playgroud)


Hag*_*gne 14

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

import matplotlib.pylab as plt
plt.rcParams['figure.dpi'] = 200
Run Code Online (Sandbox Code Playgroud)

  • 哇,这正是我一直在寻找的东西。 (2认同)

Meo*_*012 9

可以将绘图缩放至完整单元格宽度。

  1. svg主要绘制折线图时使用格式而不是位图:
%config InlineBackend.figure_format = 'svg'
Run Code Online (Sandbox Code Playgroud)
  1. 强制绘图为 100% 宽度(粘贴到空单元格中):
%%html
<style>
.output_svg div{
  width: 100% !important;
  height: 100% !important;
}
</style>
Run Code Online (Sandbox Code Playgroud)
  1. 您可能还想根据其他答案更改纵横比或其他参数以获得更好的洞察力。

它不使用公共 API,可能有一天会停止工作。 全角 matplotlib 图的屏幕截图


far*_*llw 8

调整一个图形的大小:

import matplotlib.pyplot as plt

fig=plt.figure(figsize=(15, 15))
Run Code Online (Sandbox Code Playgroud)

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

import matplotlib.pyplot as plt

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

Run Code Online (Sandbox Code Playgroud)


小智 7

使用类似的东西:

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)
Run Code Online (Sandbox Code Playgroud)

命令的输出

命令的输出