我想根据类别为箱线图中的异常值设置不同的颜色。
f = plt.figure()
ax = f.add_subplot(111)
df = pd.DataFrame({"X":[-100,-10,0,0,0,10,100],
"Category":["A","A","A","A","B","B","B",]})
bp = df.boxplot("X", return_type="dict", ax=ax, grid=False)
ax.set_ylim(-110,110)
plt.text(1,90,"this flier red",ha='center',va='center')
plt.text(1,-90,"this flier blue",ha='center',va='center')
如何为传单(帽子上方和下方的十字)提供不同的颜色?
我知道我可以通过以下方式为 mustache 设置不同的颜色
bp["whiskers"][0].set_color("b")
bp["whiskers"][1].set_color("r")
并且 bp["whiskers"]
返回 2 个 Line 对象的列表(一个用于顶部 mustache ,一个用于底部 mustache )是有意义的。但对于
bp["fliers"]
我只得到一个列表元素(bp["fliers"].set_color("r")
甚至没有执行任何操作。
感谢您的帮助。
最大
最佳答案
好的,这是一种解决方案。 bp["fliers"].get_data()
返回包含 x-y 值的元组。然后只需通过绘制
ax.plot([1],[bp["fliers"][0].get_data()[1][0]], 'b+')
ax.plot([1],[bp["fliers"][0].get_data()[1][1]], 'r+')
关于python - Pandas:在一个箱线图中为传单设置不同的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40885983/