Matplotlib:如何根据行数据显示具有不同颜色的行

时间:2019-04-29 07:44:32

标签: python pandas matplotlib

我有一个仅包含两个值0.00180.0018001的numpy数组

price_high_y = [0.0018 0.0018 0.0018 0.0018001 0.0018001 0.0018 0.0018 0.0018]

我想做的是显示此行,黑色值0.0018,黄色值0.0018001。它应该是一条水平线。我有点卡住..有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

这就是你想要的

price_high_y = np.array([0.0018, 0.0018, 0.0018, 0.0018001, 0.0018001, 0.0018, 0.0018, 0.0018])

yvals = sorted(np.unique(price_high_y))
colors = {0.0018: 'k', 0.0018001: 'y'}

for i, y in enumerate(yvals):
    plt.axhline(i+0.5, color=colors[y])

plt.yticks(np.arange(len(yvals))+0.5, yvals) 
plt.xticks([0, 1])
plt.show()

enter image description here