如何在 Matplotlib 的子图中添加多个条形图

薄板

我有一个动态的 Pandas 数据框。我正在尝试将条形图放置在一个子图中,该子图中将在单个窗口中显示多个图形。在 x 轴上,有“面积”,在 y 轴上,有面积计数。

   Names                 Area         Area Count
0  Info 1        [LOCATION, PERSON]   [130, 346]
1  Info 2              [NRP]          [20]
rows = len(df1['Names']) 
fig, ax = plt.subplots(nrows=rows, ncols=1) 
df1['Area'].plot(ax=ax[0,0])
df1['Area Count'].plot(ax=ax[0,1]) 
特伦顿麦金尼
  • 不清楚您要尝试什么,但是,鉴于显示的数据是谨慎的(不连续的),它应该绘制为条形图,而不是线图。
  • 应使用 将所有值从列表中删除pandas.Series.explode
import pandas as pd
import seaborn as sns

# test dataframe
data = {'Names': ['Info 1', 'Info 2'], 'Area': [['LOCATION', 'PERSON'], ['NRP']], 'Area Count': [[130, 346], [20]]}
df = pd.DataFrame(data)

# display(df)
    Names                Area  Area Count
0  Info 1  [LOCATION, PERSON]  [130, 346]
1  Info 2               [NRP]        [20]

# explode the lists
df = df.set_index('Names').apply(pd.Series.explode).reset_index()

# display(df)
    Names      Area Area Count
0  Info 1  LOCATION        130
1  Info 1    PERSON        346
2  Info 2       NRP         20

绘图

df.plot.bar(x='Area', y='Area Count')

在此处输入图片说明

sns.barplot(data=df, x='Area', y='Area Count', hue='Names', dodge=False)

在此处输入图片说明

df.pivot(index='Area', columns='Names', values='Area Count').plot.bar()

在此处输入图片说明

df.pivot(index='Names', columns='Area', values='Area Count').plot.bar()

在此处输入图片说明

sns.catplot(data=df, col='Names', x='Area', y='Area Count', kind='bar', estimator=sum)

在此处输入图片说明

rows = len(df.Names.unique())
fig, ax = plt.subplots(nrows=rows, ncols=1, figsize=(6, 8))
for i, v in enumerate(df.Names.unique()):
    data = df[df.Names == v]
    data.plot.bar(x='Area', y='Area Count', title=v, ax=ax[i], legend=False)
plt.tight_layout()
plt.show()

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在matplotlib的一个图中从熊猫数据框添加多个条形图?

如何在matplotlib的条形图中添加多个数据标签

如何在 Matplotlib 图中单独标记条形图?

Matplotlib —如何将堆叠的条形图放入子图中

如何向条形图添加多个注释

如何在matplotlib pyplot条形图中反转条形大小?

Plotly(python):如何在条形图中添加多个文本标签

如何在 Matplotlib 的条形图中的图例上分配多个标签和颜色?

如何在一个图中叠加多个图类型(条形图+散点图),共享x轴

如何在matplotlib中为条形图添加组标签?

如何在 matplotlib 条形图中放置颜色?

如何在matplotlib中制作堆积的条形图?

如何在matplotlib中更新条形图?

如何在 matplotlib 中旋转条形图?

如何在matplotlib中设置条形图的大小

如何在matplotlib中将条形图的xticks居中?

(Matplotlib) 如何在复杂条形图中删除刻度并将标签添加到多个图层(具有多个断轴)

如何使用matplotlib绘制复杂的条形图-具有多行条形的多个子图?

如何使用matplotlib绘制复杂的条形图-具有多行条形的多个子图?

如何在熊猫中添加堆叠条形图孵化?(...或者如何在 Pandas plot 与 matplotlib 中获取 BarContainer 与 AxisSubplot?)

使用matplotlib和子图绘制多个条形图

Matplotlib在一张图中绘制多个条形图

如何旋转 matplotlib 条形图?

如何从Matplotlib条形图获取数据

如何在matplotlib熊猫中的一个图中组合两个文件的两个条形图

如何在matplotlib中获取条形图/堆叠条形图上的标签?

如何消除Matplotlib条形图中的条形之间的间隙

matplotlib条形图黑色-如何删除条形边框

matplotlib条形图黑色-如何删除条形边框