【问题标题】:Color a specific bar in histogram using python使用python为直方图中的特定条形着色
【发布时间】:2017-03-16 16:44:04
【问题描述】:

我有一个直方图(matplotlib 或 plotly)并且想要为特定条形着色,巫婆在条形范围内具有值 N(例如,如果 N=131,彩色条形必须为 130-132)。我该怎么做?

【问题讨论】:

    标签: python matplotlib histogram plotly


    【解决方案1】:

    当调用plt.hist() 时,它会返回三个东西。首先是一个数组,保存每个 bin 中的值。其次是每个 bin 的值,最后是 patches 的数组。这些使您可以单独修改每个栏。因此,您需要做的就是确定130-132 范围的哪个bin,然后修改颜色,例如:

    import numpy as np
    import matplotlib.pyplot as plt
    
    values =  np.random.randint(51, 140, 1000)
    n, bins, patches = plt.hist(values, bins=np.arange(50, 140, 2), align='left', color='g')
    patches[40].set_fc('r')
    plt.show()
    

    会显示如下内容:

    这里的第 41 个补丁对应于130-132 的范围,因为我选择的垃圾箱从 50 开始,以 2 为步长上升到 140。所以总共会有 45 垃圾箱。如果您 print bins 您会看到索引 40 是您想要的:

    [ 50  52  54  56  58  60  62  64  66  68  70  72  74  76  78  80  82  84
      86  88  90  92  94  96  98 100 102 104 106 108 110 112 114 116 118 120
     122 124 126 128 130 132 134 136 138]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多