我用“%matplotlib inline”将我的情节内联在Ipython Notebook上。
%matplotlib inline
现在,情节出现了。然而,它非常小。有没有办法让它看起来更大使用笔记本设置或情节设置?
是的,像这样处理figuresize和dpi(在调用subplot之前):
figuresize
dpi
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
默认图形大小(以英寸为单位)由
matplotlib.rcParams['figure.figsize'] = [width, height]
例如:
import matplotlib.pyplot as plt plt.rcParams['figure.figsize'] = [10, 5]
创建一个10(宽)x 5(高)英寸的图形
我发现%matplotlib notebook对我来说比内联Jupyter笔记本更好。
%matplotlib notebook
注意,如果你之前使用了%matplotlib inline,你可能需要重新启动内核。
%matplotlib widget
这个问题是关于matplotlib的,但是为了任何R用户的利益,这里给出了一个与语言无关的标题:
matplotlib
如果你正在使用R内核,只需使用:
options(repr.plot.width=4, repr.plot.height=3)
调整一个人物的大小:
import matplotlib.pyplot as plt fig=plt.figure(figsize=(15, 15))
更改默认设置,从而更改所有的情节:
import matplotlib.pyplot as plt plt.rcParams['figure.figsize'] = [15, 15]
如果您只想让图形的图像显得更大,而不改变图形的总体外观,请增加图形分辨率。按照大多数其他答案中建议的方法更改图形大小将改变外观,因为字体大小不会相应缩放。
import matplotlib.pylab as plt plt.rcParams['figure.dpi'] = 200
一次性调整图形大小的一个小而重要的细节(如上面的几个评论称“这对我不起作用”):
在定义实际的绘图之前,应该先执行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()
快速修复“情节重叠”;是使用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()
用类似这样的话:
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)
命令的输出
可以将图缩放到整个单元格宽度。
svg
%config InlineBackend.figure_format = 'svg'
%%html <style> .output_svg div{ width: 100% !important; height: 100% !important; } </style>