【问题标题】:Bar chart to compare data of various fields条形图比较各个领域的数据
【发布时间】:2013-02-20 19:40:26
【问题描述】:

我正在尝试比较两个不同模型的不同字段,每个字段的可接受值不同,即一个字段可以取一百万作为值,而另一个字段可以取 100 作为最大值。我想比较同一个条形图中的所有字段。

       field1  | field2  | field3
Mod1 | 468     | 28,000  | 800,000,000
Mod2 | 162     |  2,000  | 228,000,000

我正在考虑取 Mod2 相对于 Mod1 的百分比(并将 Mod1 值视为 100%)并绘制条形图。这样,我们可以比较 Mod2 值与 Mod1 值有多小,并且所有不同的字段都可以轻松地放在同一个图表中(最大 y 值为 100)。在栏的顶部,提及实际值。

还有其他经典的方法吗?另外,如何使用 python matplotlib 实现上述想法?

【问题讨论】:

    标签: python graph matplotlib


    【解决方案1】:

    根据appropriate section of the matplotlib tutorial by Nicolas P. Rougier 中给出的示例,一个快速的解决方案是:

    import numpy as np
    import matplotlib.pylab as plt
    
    mod1 = np.array([ 468, 28000, 800000000 ])
    mod2 = np.array([ 162, 2000, 228000000 ])
    
    proc = mod2.astype(float) / mod1.astype(float)
    
    for ii, bar in enumerate(proc):
        plt.bar(ii, bar)
        plt.text(ii + 0.4, bar + 0.01, "%.2f" % bar, ha='center', va='bottom')
    plt.ylim(0, 1.0)
    plt.show()
    

    轴刻度、颜色等,然后​​您可以根据需要轻松微调。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-10
      • 1970-01-01
      • 2019-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多