You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Matplotlib条形图中应用magma颜色映射?

为Seaborn条形图设置magma颜色映射调色板

我正在使用Matplotlib绘制条形图,现有代码如下:

#Plotando as descobertas acima e mostrando a média de 1 com uma linha branca.
plt.figure(figsize=(14,7))
ax11 = sns.barplot(x=top_atores['VAC'], y=top_atores['Nome Ator'])
plt.axvline(1, ls='-', color='white', linewidth=3)
plt.xlabel('VAC', fontsize=12)
plt.ylabel('Ator', fontsize=12)
plt.title('VAC por Ator Comparado à Média', fontsize=14)
plt.savefig('VACAtor');

生成的图表使用了默认调色板,我希望为该条形图使用magma颜色映射调色板,但不清楚如何在代码中实现。


实现方案

方法1:直接指定调色板参数

在sns.barplot()函数中添加palette='magma'参数,即可快速应用magma调色板:

#Plotando as descobertas acima e mostrando a média de 1 com uma linha branca.
plt.figure(figsize=(14,7))
# 添加palette参数指定magma调色板
ax11 = sns.barplot(x=top_atores['VAC'], y=top_atores['Nome Ator'], palette='magma')
plt.axvline(1, ls='-', color='white', linewidth=3)
plt.xlabel('VAC', fontsize=12)
plt.ylabel('Ator', fontsize=12)
plt.title('VAC por Ator Comparado à Média', fontsize=14)
plt.savefig('VACAtor');

方法2:生成数值关联的渐变色彩

如果希望条形颜色随VAC数值大小呈现渐变效果,可以结合颜色映射和归一化处理实现:

import matplotlib.colors as mcolors

plt.figure(figsize=(14,7))
# 基于VAC列的数值范围初始化归一化工具
norm = mcolors.Normalize(vmin=top_atores['VAC'].min(), vmax=top_atores['VAC'].max())
# 获取magma颜色映射实例
cmap = plt.get_cmap('magma')
# 为每个VAC值匹配对应的颜色
colors = [cmap(norm(value)) for value in top_atores['VAC']]

ax11 = sns.barplot(x=top_atores['VAC'], y=top_atores['Nome Ator'], palette=colors)
plt.axvline(1, ls='-', color='white', linewidth=3)
plt.xlabel('VAC', fontsize=12)
plt.ylabel('Ator', fontsize=12)
plt.title('VAC por Ator Comparado à Média', fontsize=14)
plt.savefig('VACAtor');

第一种方法会使用magma调色板的离散色彩,第二种方法能让颜色随数据值变化呈现渐变,可根据需求选择。


内容的提问来源于stack exchange,提问作者Luana Hilbert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 10:23:12