Pandas:在一个盒子里为传单设置不同的颜色

2024-05-18 12:04:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在基于类别的箱线图中为异常值设置不同的颜色。在

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')

Different flier colors in boxplot

我如何给传单(大写字母上下交叉)不同的颜色?在

我知道我可以为胡须设置不同的颜色

^{pr2}$

并且bp["whiskers"]返回一个包含两个线对象的列表(一个用于顶部胡须,另一个用于底部胡须)。但是为了 bp["fliers"]我只得到一个列表元素(bp["fliers"].set_color("r")甚至什么都不做。在

谢谢你的帮助。在

最大


Tags: textdf列表颜色pltaxthis类别
1条回答
网友
1楼 · 发布于 2024-05-18 12:04:11

好吧,这是一个解决方案。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+')

enter image description here

相关问题 更多 >