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

Plotly绘制平行坐标图时如何调整坐标轴排列顺序

Plotly平行坐标图自定义坐标轴排列顺序方法

问题描述

基于Iris鸢尾花数据集绘制Plotly平行坐标图时,尝试通过重排标签顺序调整坐标轴排列位置未生效,查阅plotly.express.parallel_coordinates官方文档未找到明确的轴顺序配置说明,初始绘图代码如下:

import plotly.express as px
import pandas as pd
df = px.data.iris()
fig = px.parallel_coordinates(df, color="species_id", 
                              color_continuous_scale=px.colors.diverging.Tealrose,
                              color_continuous_midpoint=2)
fig.show()

问题原因

之前调整失效的核心原因是传参类型错误:使用花括号定义的集合类型传入dimensions参数时,Python集合本身是无序结构,不会保留元素的写入顺序,自然无法按预期渲染坐标轴顺序。

解决方法

使用方括号定义列表类型,将需要展示的字段按目标坐标轴顺序排列后传入dimensions参数,即可完全自定义坐标轴的排列顺序。

传参写法对比

  • 错误写法(集合传参,无序,无法保留自定义顺序):
dimensions={"petal_length","sepal_width"}
  • 正确写法(列表传参,按传入顺序从左到右渲染坐标轴):
dimensions=["petal_length","sepal_width"]

完整调整示例

如果需要将坐标轴从左到右设置为petal_length、sepal_width、sepal_length、petal_width、species_id,完整代码如下:

import plotly.express as px
import pandas as pd
df = px.data.iris()
fig = px.parallel_coordinates(df, 
                              # 按目标轴顺序传入字段列表
                              dimensions=["petal_length","sepal_width","sepal_length","petal_width","species_id"],
                              color="species_id", 
                              color_continuous_scale=px.colors.diverging.Tealrose,
                              color_continuous_midpoint=2)
fig.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 23:09:58