python - 带有熊猫图的子图
问题描述
我需要生成一行和两列的子图,以显示箱形图和数据框中的数据直方图。我试过这个:
plt.subplot(1,2,1)
df.boxplot(column=variable)
plt.subplot(1,2,2)
df.hist(column=variable)
但我得到了这个:
我怎样才能得到我需要的东西?
df是一个 pandas 数据框,变量包含感兴趣的列的名称。
解决方案
利用:
fig, axes = plt.subplots(nrows=1, ncols=2,figsize=(10,10))
axes[0].boxplot(df3[column])
axes[1].hist(df3[column])
例子
import pandas as pd
import matplotlib.pyplot as plt
df3 = pd.read_csv('df3')
%matplotlib inline
df3.head()
数据:
a b c d
0 0.336272 0.325011 0.001020 0.401402
1 0.980265 0.831835 0.772288 0.076485
2 0.480387 0.686839 0.000575 0.746758
3 0.502106 0.305142 0.768608 0.654685
4 0.856602 0.171448 0.157971 0.321231
按指定生成图形:
fig, axes = plt.subplots(nrows=1, ncols=2,figsize=(10,10))
axes[0].boxplot(df3['a'])
axes[1].hist(df3['b'])
输出:
了解您必须输入有效的列名。要查看列的名称,请执行以下操作:
df.columns.values.tolist()
就我而言:
df3.columns.values.tolist()
出去:
['a', 'b', 'c', 'd']
推荐阅读
- apache-spark - pyspark:UnicodeDecodeError:'ascii'编解码器无法解码位置 1055 中的字节 0xe5:序数不在范围内(128)
- angular - 对同一项目中的管道进行一次调用
- node.js - 你能通过 Node.js 运行 excel 宏吗
- javascript - 如何在 jquery/ajax 中中止和取消 XHR 挂起请求?
- android - 导航错误 - 此导航图未引用任何布局文件?
- javascript - 将柏树文件部署到詹金斯时如何解决“找不到模块'fs-extra' - 错误”?
- c# - 如何在代码后面通过公共路径动态地对项目进行分组?
- python - Python3 不能在 else 语句之后重复循环(谷歌搜索并没有找到可靠的结果)
- sql - ON DELETE CASCADE 用于 Sequelize 的多个外键
- c# - 如何从 webmethod 获取响应并传递 sql 参数