【发布时间】:2021-12-14 07:57:32
【问题描述】:
我有一个条形图,我想根据 pandas 列值在每个条形中添加一条水平线。我已经看到了如何在所有条上添加一条水平线的示例,但这不是我的目标。
到目前为止我尝试过的是:
import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame([[1, 2, 1], [2, 4, 3], [3, 6, 1], [4, 8, 3]], columns=["X", "Value", "Hor"])
fig, ax = plt.subplots()
sns.barplot(x="X", y="Value", data=df, color='green', ax=ax)
sns.barplot(x="X", y="Hor", data=df, color='green', linewidth=2.5, edgecolor='black', ax=ax)
这与我想要的比较接近,但我只想要顶部边缘,最好是虚线。
我的问题有两个:
- 这是这样做的方法吗?通过将两个条形图堆叠在一起?
- 如果是这样,我如何调整所有边缘以适应我的需要?
【问题讨论】: