显示每个条形图的均值虚线

时间:2019-08-21 21:30:59

标签: python matplotlib graph

我想画一条虚线,显示两个变量的平均值。这是我的条形图代码:

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

 men_means = [2000, 3400, 3000, 3005, 2700]
 women_means = [2500, 3200, 3004, 2000, 2005]

 x = np.arange(len(labels))  # the label locations
 width = 0.35  # the width of the bars

 fig, ax = plt.subplots()
 rects1 = ax.bar(x - width/2, men_means, width, label='Men')
 rects2 = ax.bar(x + width/2, women_means, width, label='Women')

这是我期望得到的结果: age

1 个答案:

答案 0 :(得分:0)

这里没有Matplotlib的魔力;您只需要正确定义要绘制的图形即可。

要绘制的线是条形中心之间的连接。 条形图的中心是通过将x偏移width +/- 2并将y除以2来计算的。

您可以使用简单的plt.plot绘制这两条线:

# Your code

plt.plot(
    x - width/2, 
    [y / 2 for y in men_means], 
    linestyle="--", 
    linewidth=3, 
    color="black"
)
plt.plot(
    x + width/2, 
    [y / 2 for y in women_means], 
    linestyle="--", 
    linewidth=3, 
    color="purple"
)

输出:

enter image description here