首页 > 解决方案 > matplotlib - 在 y 轴上每组在 x 轴上创建条形图

问题描述

我有以下数据框:

  data = pd.DataFrame(data={'group': ['A', 'B', 'C'],
 'start': [2, 5, 9], 'end': [9, 8, 6]})

我很想创建以下图表,我到处搜索但找不到答案:

图形

在此处输入图像描述

我到处找,在 matplotlib 网站上,在 pandas 上,我找不到一个简单的方法来执行它。

标签: pythonpandasmatplotlib

解决方案


您可以使用 matplotlibbarh来绘制水平条。

import pandas as pd
import matplotlib.pyplot as plt

data = pd.DataFrame(data={'group': ['A', 'B', 'C'],
                              'start': [2, 5, 6], 'end': [9, 8, 9]})

plt.barh(data["group"], data["end"]-data["start"], 0.4, data["start"], 
         color="None", edgecolor=["blue", "red", "green"])
plt.xlim(0,10)
plt.show()

在此处输入图像描述


推荐阅读