我在Ipython Notebook上使用“%matplotlib inline”使我的绘图内联。
现在,情节出现了。然而,它非常小。有没有办法让它看起来更大使用笔记本设置或情节设置?
我在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()
其他回答
用类似这样的话:
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)
命令的输出
这个问题是关于matplotlib的,但是为了任何一个R用户,在这里给出了一个语言无关的标题:
如果你正在使用R内核,只需使用:
options(repr.plot.width=4, repr.plot.height=3)
快速修复“情节重叠”是使用plt.tight_layout():
例子(以我为例)
for i,var in enumerate(categorical_variables):
plt.title(var)
plt.xticks(rotation=45)
df[var].hist()
plt.subplot(len(categorical_variables)/2, 2, i+1)
plt.tight_layout()
可以将图缩放到整个单元格宽度。
主要绘制折线图时,使用svg格式代替位图:
%config InlineBackend.figure_format = 'svg'
强制绘图为100%宽度(粘贴到一个空单元格中):
%%html
<style>
.output_svg div{
width: 100% !important;
height: 100% !important;
}
</style>
您可能还想根据其他答案更改纵横比或其他参数,以便更好地了解。
它没有使用公共API,可能有一天会停止工作。
我发现%matplotlib笔记本比内嵌Jupyter笔记本更适合我。
注意,如果之前使用了%matplotlib内联,可能需要重新启动内核。
2019年更新: 如果您正在运行Jupyter实验室,您可能需要使用 % matplotlib小部件