带有来自两个不同数据框的条形图的条形图

简·博尔赫斯

我有以下数据框:

      import pandas as pd
      import numpy as np
      import matplotlib.pyplot as plt

      df_One = pd.DataFrame({'Category': ['1024Sen', '1024Act', '2089Eng', '2089Sen'], 
                             'Qtd_Instrumentation': [18, 5, 25, 10]})


     df_Two = pd.DataFrame({'Category': ['1024Sen', '1024Act', '2089Eng', '2089Sen'], 
                   'Qtd_Instrumentation': [14, 1, 22, 10]})

我想构建一个条形图,其中包含来自两个数据框的信息,即蓝色条表示datadrame_One,垂直的红色条表示dataframe_Two的信息。

我尝试如下实现:

       fig, ax = plt.subplots()
       n_group = len(df_One['Category'])
       index = np.arange(n_group)
       bar_width = 0.35
       opacity = 0.8


       rects1 = df_One.plot.bar(x='Category', y='Qtd_Instrumentation', color='r', label = 'Station 
                                One')
       rects2 = df_Two.plot.bar(x='Category', y='Qtd_Instrumentation', color='b', label = 'Station 
                                Two')


       plt.xlabel('Category Instrumentation')
       plt.ylabel('Qtd Instrumentation')

       plt.show()

但是,此代码是错误的,因为它设计了两个条形图,而不是仅使用两个表示来构建一个图。

有谁知道我可以如何构建此描述的图表?ks

谢尔多雷

这是一种选择方法,选择一个align='edge'选项,然后对一个条使用正宽度,对另一条使用负宽度。这将使它们彼此对齐。另外,您必须致电plt.legend()以显示图例

fig, ax = plt.subplots()

index = np.arange(len(df_One['Category']))
bar_width = 0.35
opacity = 0.8

ax.bar(index, df_One['Qtd_Instrumentation'], color='r', align='edge', width=bar_width, label = 'Station One')
ax.bar(index, df_Two['Qtd_Instrumentation'], color='b', align='edge', width=-bar_width,label = 'Station Two')

# Assign the tick labels
ax.set_xticks(index)
ax.set_xticklabels(df_One['Category'], rotation=90)

plt.xlabel('Category Instrumentation')
plt.ylabel('Qtd Instrumentation')
plt.legend()
plt.show()

在此处输入图片说明

另一种方法是通过使用关键字以下position放置杆彼此相邻,如图这里

df_One.Qtd_Instrumentation.plot(kind='bar', color='red', ax=ax, width=bar_width, position=1)
df_Two.Qtd_Instrumentation.plot(kind='bar', color='blue', ax=ax, width=bar_width, position=0)

ax.set_xlim(-0.5, 3.5)
ax.set_xticks(index)
ax.set_xticklabels(df_One['Category'])

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

带有两个数据框的ggplot条形图

ggplot2条形图,带有两个分类变量

来自两个熊猫数据框的分组条形图

条形图-两个条形图彼此相邻并且在单独的窗口中绘制条形图

条形图-两个条形图彼此相邻并且在单独的窗口中绘制条形图

加入两个Pandas数据框并生成并列条形图?

R:具有两个分组顺序和三列数据的堆叠条形图

数据框的条形图

一张图中来自不同数据框的两个条形图(一个公共列)

ggplot2中的堆叠条形图,带有2个系列的条形图(不同的列)

带有频率数据的两个条件的叠加条形图

以并排的条形图绘制两个具有相同列名的数据框

在MATLAB中绘制带有两个y轴和多个条的条形图

带有两个 Y 轴问题的水平堆叠条形图

带有两个 Y 轴和公共 X 轴的 Matplotlib 条形图

ggplot条形图,带有来自多个组的数据框的误差条

ggplot - 来自同一数据框的两个变量的条形图

来自两个变量列的 Matplotlib 条形图 - Pandas 数据操作(大部分)

Matlab - 带有两个图和两个轴的条形图

带有 Seaborn 的数据框条形图

为按两个变量分组的数据框绘制堆积条形图

带有多索引熊猫数据框的条形图

并排显示数据框中两个变量的条形图

带有数据框的 Python 条形图

来自无组织数据的条形图 - 创建数据框?

在 R 中创建一个带有 2 个条形图的条形图

带有多个条形图的条形图

为什么两个图表(表格和条形图)显示不同的数据?

带有来自数据框的条形图的 matplotlib