python - 条形图比较各个领域的数据

标签 python graph matplotlib

我正在尝试比较两个不同模型的不同字段,每个字段可接受的值不同,即一个字段可以采用 100 万作为值,而另一个字段可以采用 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 来实现上述想法?

最佳答案

基于 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()

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

关于python - 条形图比较各个领域的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14988515/

相关文章:

python - pandas - 如何将嵌套字典中的数据加载到数据框中?

python - 您知道有关如何设置具有多个应用程序的 Pyramid 项目的任何资源吗?

python - 使用 pyMCMC/pyMC 将非线性函数拟合到数据/观察值

python - 扰动后保持无标度图的度分布 - python

jquery - 复制雪鸟的动画效果

python - 将灰度图像转换回矢量

python - 在 IPython 中抑制 Matplotlib 图例警告

python - Django中2个模型之间的关系

python - 在使用 seaborn 绘图分配斧头对象时遇到问题

python - 如何在 python igraph 中从 .gml 文件创建加权图