问题描述
我有一个包含多列的数据框,我想一次绘制它们的直方图。
数据框对象有一个非常漂亮subplots
参数绘制每个变量在自己的轴:
%matplotlib inline # same problem with %matplotlib notebook
df.iloc[:,-3:].plot.hist(subplots=True);
给我:
问题是当我尝试绘制更多的列时:
%matplotlib inline
# 15 variables
df.iloc[:,-15:].plot.hist(subplots=True);
我希望能够设置每个轴的固定高度,并具有很大的图像,或者能够滚动查看它们。
怎么做?
1楼
一种方法是通过在绘图之前调用plt.subplots()
来扩展图形的垂直尺寸,如下所示:
nvars = 12 # Example number of variables
# subplots(number of vertically stacked axis positions,
# number of horizontally stacked axis positions,
# figsize=(width, height))
fig, ax = plt.subplots(nvars, 1, figsize=(6, 4*nvars))
# Need to pass axis handle to df.plot()
df.iloc[:,-nvars:].plot.hist(subplots=True, ax=ax);