在python中是否有使用sns.barplot显示不同颜色的方法?
我正在寻找解决方案,我想为组“1”添加蓝色阴影(浅蓝色表示性别“男性”深蓝色表示性别“女性”),为组“2”添加红色阴影(浅红色表示性别“男性”深红色表示性别“女性”)是否有可能。我也尝试过彩色托盘,但无法设置。我能得到一些帮助吗。提前谢谢在python中是否有使用sns.barplot显示不同颜色的方法?,python,pandas,matplotlib,plot,seaborn,Python,Pandas,Matplotlib,Plot,Seaborn,我正在寻找解决方案,我想为组“1”添加蓝色阴影(浅蓝色表示性别“男性”深蓝色表示性别“女性”),为组“2”添加红色阴影(浅红色表示性别“男性”深红色表示性别“女性”)是否有可能。我也尝试过彩色托盘,但无法设置。我能得到一些帮助吗。提前谢谢 df = pd.DataFrame() df['percent'] = pd.Series([0.64, 0.36, 0.49, 0.51]) df['gender'] = pd.Series(['M','F','M','F'])
df = pd.DataFrame()
df['percent'] = pd.Series([0.64, 0.36, 0.49, 0.51])
df['gender'] = pd.Series(['M','F','M','F'])
df['group'] =pd.Series([1,1,2,2])
seaborn.barplot(x='group',y='percent',data=df, hue='gender')
sns返回的
ax
条形图将包含每个色调的条形容器。在每个容器内,每个组都有一个酒吧。为了确保Seaborn对x值使用相同的顺序,可以设置order=
参数。与通过性别的色调类似,hue\u顺序
可以固定
然后,您可以先在容器中循环,然后在各个条中循环以更改其颜色。如果有两组以上,则应提供更多阴影(0表示非常亮,1表示非常暗)。同样,如果有更多的色调,可以使用更多的颜色贴图
由于图例不再适合更改的数据,下面的代码将删除它
导入matplotlib.pyplot作为plt
将numpy作为np导入
作为pd进口熊猫
导入seaborn作为sns
df=pd.DataFrame()
df['percent']=pd.系列([0.64,0.36,0.49,0.51])
df['gender']=pd.系列(['M','F','M','F'])
df['group']=pd.系列([1,1,2,2])
groups=np.unique(df['group'])
性别=['M','F']
ax=sns.barplot(x='group',y='percent',data=df,order=groups,hue='gender',hue_order=genders)
对于bar_容器,用拉链遮住(ax.containers,[0.5,0.9]):
对于酒吧,分组为拉链(酒吧容器,['Reds','Blues']):
条形图设置颜色(plt.get\U cmap(组cmap)(阴影))
ax.legend_u2;.remove()
plt.show()
如果只有4条,修改这些条相当容易,甚至可以手动绘制。@QuangHoang这正是我想要的样本。小组的数量不同,所以酒吧的数量也会相应变化。谢谢你的帮助。我不知道集装箱。这使我的工作更容易了。