Plotly散点图自定义颜色失效求助:始终显示默认配色方案
Plotly散点图自定义颜色不生效的解决办法
- 核心原因:如果
Anio列是数值类型(整数/浮点数),Plotly会将其识别为连续变量,此时color_discrete_sequence参数不会生效(该参数仅适用于离散类别变量)。
解决方法1:将Anio转换为字符串类型
把年份列转为字符串,让Plotly识别为离散类别,这样color_discrete_sequence就能正常应用:
import plotly.express as px SandiaA['Anio'] = SandiaA['Anio'].astype(str) # 转换数据类型 mycolour = ['#FF5733', '#33FF57', '#3357FF'] fig = px.scatter(SandiaA, x="Semana", y="PrecioPromedio", color="Anio", color_discrete_sequence=mycolour) fig.show()
解决方法2:使用color_discrete_map手动映射颜色
如果不想修改数据类型,可以直接为每个年份值指定对应颜色,不受数据类型限制:
import plotly.express as px color_map = { 2021: '#FF5733', # 替换为你的实际年份值 2022: '#33FF57', 2023: '#3357FF' } fig = px.scatter(SandiaA, x="Semana", y="PrecioPromedio", color="Anio", color_discrete_map=color_map) fig.show()
额外检查项
- 确保
mycolour的颜色数量不小于Anio列的唯一值数量,否则Plotly会重复使用现有颜色; - 如果
Anio确实是连续数值且需要渐变配色,改用color_continuous_scale参数自定义渐变方案。
内容的提问来源于stack exchange,提问作者Simon
相关产品推荐
相关产品推荐

