使用Matplotlib在python中使用Dictionary的条形图

Apoorvaa singh

我有两个字典:

A = {2018: 23, 2019: 30}
B = {2018: 26, 2019:35} 

现在我想绘制A和B的2018/2019趋势。但是绘制条形图时,我得到以下结果。年不断扩大,以填补空间,而b则完全隐藏了A。请建议如何绘制图形。

在此处输入图片说明

原始数据具有数学,科学和总计的平均分,我想在同一张图(条形图)上绘制两年,以显示趋势。

罗比

您可以通过其右边缘的左侧对齐条形图的条形(传递负宽度以使用右边缘对齐)-这样,您可以获得并排的条形。或者,您可以堆叠条形图。

这是带有输出的代码:

import matplotlib.pyplot as plt

A = {2018: 23, 2019:30}
B = {2018: 26, 2019:35}

fig, (ax1, ax2) = plt.subplots(1,2, figsize=(12,5))

ax1.bar(A.keys(), A.values(), width=0.2, align='edge', label='A')
ax1.bar(B.keys(), B.values(), width=-0.2, align='edge', label='B')
ax1.set_xticks([2018, 2019])
ax1.set_xlabel('YEAR')
ax1.legend()

ax2.bar(A.keys(), A.values(), width=0.4, align='center', label='A')
ax2.bar(B.keys(), B.values(), bottom=[A[i] for i in B.keys()], width=0.4, align='center', label='B')
ax2.set_xticks([2018, 2019])
ax2.set_xlabel('YEAR')
ax2.legend()

fig.show()

在此处输入图片说明

编辑:如果您开始处理更多数据,则可以使用可以更轻松地处理数据的程序包。熊猫是一个很棒的包装,它将为您做到这一点。

这是带有4组时间序列数据的示例:

import matplotlib.pyplot as plt
import pandas as pd

A = {2018: 23, 2019:30}
B = {2018: 26, 2019:35}
C = {2018: 30, 2019:40}
D = {2018: 20, 2019:50}

df = pd.DataFrame([A,B,C,D], index=['A','B','C','D']).transpose()

fig, ax= plt.subplots(1,1, figsize=(6,5))

df.plot.bar(ax=ax)
ax.set_xlabel('YEAR')

fig.tight_layout()
fig.show()

输出是这个图: 在此处输入图片说明

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在python中使用matplotlib绘制多个分组的条形图

在python中使用plotly创建堆叠图或条形图

如何在python中使用matplotlib在python中绘制带有标签的简单条形图?

如何在 python 中使用 matplotlib 在极坐标投影中叠加条形图和散点图?

如何在python中使用matplotlib绘制叠加的条形图?

在Python中使用matplotlib或Seaborn与Datetime Index绘制组条形图

Python:如何使用matplotlib在python中绘制条形图?

使用matplotlib在python中绘制漂亮的条形图

使用Matplotlib.pyplot在python中绘制条形图

使用python和matplotlib的时间线条形图

如何在 Python 中使用 pandas 和 matplotlib 绘制条形图时删除条形之间的空间?

在 Python 数据框中使用 group by 堆叠条形图

在Python中使用不同颜色的条形图

在 Python-Pandas 中使用日期索引的条形图

使用matplotlib的堆积条形图

使用matplotlib的堆积条形图

如何使用matplotlib和在Python中使用seaborn在组条形图上添加第四个条形图?

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

使用Python的高级水平条形图?

从matplotlib.widgets中使用Slider后,如何获取条形图值?

使用pandas / matplotlib使用for循环创建条形图

使用字典使用matplotlib绘制条形图

使用matplotlib绘制堆积的条形图,保持使用python时熊猫数据框的顺序

使用matplotlib条形图设置列的顺序

如何使用阈值线创建matplotlib条形图?

使用matplotlib的长垂直条形图

使用 plotly 使 matplotlib 堆积条形图在 jupyter 中交互

如何使用matplotlib创建堆积条形图?

如何使用 Matplotlib 增加条形图大小