【问题标题】:Column order reversed in step histogram plot步进直方图中的列顺序颠倒
【发布时间】:2018-04-15 12:38:18
【问题描述】:

使用histtype='step' 将二维数组传递给 Matplotlib 的直方图函数似乎会以相反的顺序绘制列(至少从我偏向的西方从左到右的角度来看)。

这是一个插图:

import matplotlib.pyplot as plt
import numpy as np

X = np.array([
    np.random.normal(size=5000),
    np.random.uniform(size=5000)*2.0 - 1.0,
    np.random.beta(2.0,1.0,size=5000)*3.0,
]).T

trash = plt.hist(X,bins=50,histtype='step')
plt.legend(['Normal','2*Uniform-1','3*Beta(2,1)'],loc='upper left')

产生这个:

运行 matplotlib 版本 2.0.2,python 2.7

【问题讨论】:

    标签: python-2.7 numpy matplotlib histogram


    【解决方案1】:

    来自documentation for legend

    为了将“标签”和图例元素实例保持在一起, 最好在艺术家创作时指定标签,或者通过 调用 set_label 方法 艺术家

    我建议对hist 使用label 关键字参数:

    字符串或字符串序列以匹配多个数据集

    结果是:

    import matplotlib.pyplot as plt
    import numpy as np
    
    X = np.array([
        np.random.normal(size=5000),
        np.random.uniform(size=5000)*2.0 - 1.0,
        np.random.beta(2.0,1.0,size=5000)*3.0,
    ]).T
    
    trash = plt.hist(X,bins=50,histtype='step',
                     label=['Normal','2*Uniform-1','3*Beta(2,1)'])
    plt.legend(loc='upper left')
    plt.show()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-10
      • 1970-01-01
      • 2022-12-28
      • 2015-06-21
      • 2018-01-05
      • 2011-10-23
      • 2011-04-19
      相关资源
      最近更新 更多