【问题标题】:plotly express reorders categorical x-axis scatter if I add a color如果我添加颜色,则 plotly express 重新排序分类 x 轴散点图
【发布时间】:2021-07-28 10:26:57
【问题描述】:

假设我有一组观察结果,按行排列。每个观察都有与之相关的定量和有序测量。

观察结果是根据定量测量进行排序的(即顺序很重要),但由于在该维度中顺序与大小无关,我想使用分类 x 轴散点图而不是数值 x 轴散点图。

这一切都很好只要我不向情节表达散布添加“颜色”:

import pandas as pd
import plotly.express as px
metrics = ['m1', 'm2', 'm3', 'm4']
a = ['a', 'b', 'd', 'b']
b = [1,2,3,4]
c = [4,5,6,7]
d = ['w','x','y','z']
data = pd.DataFrame(data=[a,b,c,d], index=metrics).T

上面的代码将生成一个绘图图表,其中观察结果按照它们在数据框中的顺序绘制: px.scatter(data, y='m2', x='m4').

correct ordering of datapoints

但是,如果我通过px.scatter(data, y='m2', x='m4', color='m1') 添加颜色,订单就会混乱!

incorrect ordering of datapoints if i add a color/hue

知道如何解决这个问题吗?

【问题讨论】:

    标签: python pandas plotly


    【解决方案1】:

    您可以使用参数“category_order”,并在要指定顺序的维度中传递字典:例如,在这种情况下添加参数category_orders={'m4':d}

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-04
      • 1970-01-01
      • 2020-11-06
      • 2021-02-22
      • 1970-01-01
      • 2021-09-04
      • 2018-06-19
      相关资源
      最近更新 更多