【问题标题】:How to plot additional values over bar chart as segments in matplotlib?如何在条形图上绘制附加值作为 matplotlib 中的段?
【发布时间】:2019-04-17 08:51:59
【问题描述】:

我在 Python 中有一个条形图,我想在上面绘制一些其他值(例如表示平均值)作为分段。

考虑以下绘制简单条形图的代码:

import matplotlib.pyplot as plt

h = plt.bar([0,1,2], [4,5,6],width=0.5)
plt.legend((h,), ("vals",))
plt.show()

这绘制了以下图像:

对于每个条,我都有一个平均值,我想将其绘制在相应的条上作为一个段。所需的情节如下所示:

如何在matplotlib 中将条形上的值绘制为段?

【问题讨论】:

    标签: python matplotlib bar-chart


    【解决方案1】:

    这个怎么样?

    import matplotlib.pyplot as plt
    
    indices = [0, 1, 2]
    values = [4, 5, 6]
    averages = [3.5, 5.5, 4.75]
    pad = 0.3
    
    fig, ax = plt.subplots()
    
    b = ax.bar(indices, values, width=0.5, label='vals')
    
    for index, average in zip(indices, averages):
        l = ax.plot([index - pad, index + pad], [average, average], color='red')
    
    ax.legend([b, l[0]], ['vals', 'avg'])
    

    【讨论】:

      猜你喜欢
      • 2020-02-28
      • 1970-01-01
      • 2022-08-06
      • 1970-01-01
      • 1970-01-01
      • 2013-08-06
      • 2014-06-11
      • 1970-01-01
      • 2022-11-10
      相关资源
      最近更新 更多