Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从各种数据帧创建子图_Python_Pandas_Matplotlib - Fatal编程技术网

Python 如何从各种数据帧创建子图

Python 如何从各种数据帧创建子图,python,pandas,matplotlib,Python,Pandas,Matplotlib,我有一个数据帧列表: list_df = [df1, df2, df3, df4, df5, df6] 其中由相当相同的命令定义: df6 = df_2016['Incident Type Description'].value_counts()[:20] 其中df1=df_2011['Incident Type Description'].value_counts()[:20], df2=df_2012['Incident Type Description'].value_counts()

我有一个数据帧列表:

list_df = [df1, df2, df3, df4, df5, df6]
其中由相当相同的命令定义:

df6 = df_2016['Incident Type Description'].value_counts()[:20]
其中
df1=df_2011['Incident Type Description'].value_counts()[:20]
df2=df_2012['Incident Type Description'].value_counts()[:20]
依此类推至
df6=df_2016['Incident Type Description'].value_counts()[:20]
df_2011、df_2012……df_2016
是我上传的csv文件中的命名变量

我想做的是将所有这些结合起来,创建一个2x3子图,而不是像我使用命令时那样单独显示它们:
df_2016['Incident Type Description'].value_counts()[:20]。plot(kind='barh',title='2016年奥克兰20大犯罪事件〕

到目前为止,我在stackoverflow[和matplotlib页面上找到了几种方法,但这些方法都不起作用,我也不知道为什么(我是python的初学者):


到目前为止,
ValueError
显示为
ValueError:2x3的布局必须大于所需的尺寸7
。有什么想法吗?

我不知道您是否计划使用另一个软件包。但是Seaborn经常被用来精确快速地显示不同类型的绘图。您可以查看完整的软件包文档:。有一些不错的教程als

特别是FaceGrid,用于显示Suplot

Seaborn构建在matplot库之上

编辑:您可能需要附加所有df,然后根据指定输入df(1-6)的列添加子批次。

您可以尝试:

fig, axes = plt.subplots(2,3)

for d, ax in zip(list_df, axes.ravel()):
    d.plot.barh(ax=ax)

你正在绘制的
df
到底是什么?你不是在尝试绘制
df1,df2,
?@QuangHoang是的,这应该是list\u df,很抱歉我刚刚意识到我遗漏了它。现在
AttributeError:'list'对象没有属性“plot”
。我该如何解决这个问题?
fig, axes = plt.subplots(2,3)

for d, ax in zip(list_df, axes.ravel()):
    d.plot.barh(ax=ax)