python条形图颜色设置_python – 在条形图中使用色调时,让seaborn显示颜色条而不是图例?...

假设我想制作一个条形图,其中条形的色调代表一些连续的数量.例如

将seaborn作为sns进口

titanic = sns.load_dataset(“泰坦尼克号”)

g = titanic.groupby(‘pclass’)

survival_rates = g [‘survived’].mean()

n = g.size()

ax = sns.barplot(x = n.index,y = n,

hue = survival_rates,palette =’Reds’,

闪避=假

)

ax.set_ylabel(‘n乘客’)

S7FQv.png

这里的传说有点愚蠢,而且我绘制的条纹越多越好.最有意义的是颜色条(例如在调用sns.heatmap时使用).有没有办法让seaborn做到这一点?

最佳答案 另一个答案有点hacky.因此,更严格的解决方案,无需生成之后删除的图,将涉及手动创建ScalarMappable作为颜色条的输入.

import matplotlib.pyplot as plt

import seaborn as sns

titanic = sns.load_dataset("titanic")

g = titanic.groupby('pclass')

survival_rates = g['survived'].mean()

n = g.size()

norm = plt.Normalize(survival_rates.min(), survival_rates.max())

sm = plt.cm.ScalarMappable(cmap="Reds", norm=norm)

sm.set_array([])

ax = sns.barplot(x=n.index, y=n, hue=survival_rates, palette='Reds',

dodge=False)

ax.set_ylabel('n passengers')

ax.get_legend().remove()

ax.figure.colorbar(sm)

plt.show()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值