以下代码为与分组变量y
相关联的每个“hue”值生成带有不同颜色条形的条形图:
from matplotlib import pyplot as plt
import seaborn as sns
ax = sns.barplot(x=[3, 7, 12, 10], y=list("AABB"), hue=list("XYXY"))
plt.show()
我想更改颜色,以便属于同一分组值的所有小条具有相同的颜色。也就是说,y == "A"
应为橙色的前两个柱,以及y == "B"
应为蓝色的最后两个柱。
我已经尝试了`sns.barplot()的palette
参数。但是,除非我遗漏了某些内容,否则我可以指定每个色调级别的颜色,但不能单独指定分组变量的值。
我还看了this related question的答案,该答案提出了sns.boxplot()
创建的盒须图的类似内容。接受的答案建议使用轴的artists
属性访问表示条形的矩形。但是,sns.barplot()
似乎不会像artists
一样使用sns.boxplot()
:ax.artists
似乎总是一个空列表:
print(ax.artists)
[]
那么,我需要更改什么才能使前两个条形显示为蓝色,而底部的两个条形显示为橙色?