[英]Change Box and Point Grouping Hue on Seaborn Boxplot
讓我們根據文檔創建一個 sns 箱線圖:
import seaborn as sns
sns.set(style="whitegrid")
tips = sns.load_dataset("tips")
ax = sns.boxplot(x="day", y="total_bill", hue="smoker", data=tips, palette="Set3")
產生一個很好的情節:
但是,我希望能夠控制每個組的顏色。 我希望將吸煙者“是”組顯示為灰色框和灰色異常值點,並且我希望吸煙者“否”組顯示為帶有綠色框和綠色異常值點。 如何編輯底層matplotlib
ax 對象以更改這些屬性?
通過將您自己的palette
傳遞給boxplot()
似乎最好改變盒子的顏色。 為了按組更改異常值(“傳單”)的顏色,此答案包括一個解決方案。 這里得到的代碼:
import seaborn as sns, matplotlib.pyplot as plt
sns.set(style="whitegrid")
tips = sns.load_dataset("tips")
ax = sns.boxplot(x="day", y="total_bill", hue="smoker", data=tips,
palette=sns.color_palette(('.5', 'g')))
# each box in Seaborn boxplot is artist and has 6 associated Line2D objects
for i, box in enumerate(ax.artists):
col = box.get_facecolor()
# last Line2D object for each box is the box's fliers
plt.setp(ax.lines[i*6+5], mfc=col, mec=col)
plt.show()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.