python - Jupyter:如何绘制多个具有固定高度的直方图?
问题描述
我有一个包含多列的数据框,我想一次绘制它们的直方图。DataFrame 对象有一个非常好的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);
我希望能够设置每个轴的固定高度,并拥有一个非常大的图像,或者能够滚动查看它们。
怎么做?
解决方案
一种方法是在绘图之前调用 to 来扩展图形的垂直尺寸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);
推荐阅读
- python - MySQL:IndexError:元组索引超出范围
- python - 使用 gmpy2 产生错误的素数生成器
- database - MongoDB - 3 种类型的角色
- javascript - React 应用程序仅在 Firefox 中显示 javascript
- python - Pandas:在 pivot_table 中传递边距 = True 时出现关键错误
- java - Spring @Transactional 如何管理事务
- r - 我的 R 代码中用于模型选择的这些方括号是什么意思?
- autohotkey - 有没有办法让 AHK 左键单击,然后按住右键单击 30 秒并重复?
- bash - 没有这样的文件或目录,但文件存在
- c# - 跨两个字符串之间的多行替换文本段 - 正则表达式