如何在plotly dash中用category_orders函数按字母顺序排序传说

发布于 2025-01-17 13:23:31 字数 526 浏览 2 评论 0原文

我正在使用Plotly Dash创建散点图。我在最终数字中获得的传奇是随机放置的。我想使用category_orders函数以字母顺序从A到Z对标签进行排序

fig = px.box(
            df,
            x=selected_x,
            y=selected_y,
            points='all',
            hover_data=hover_data,
            color=colour_by,
            width=800,
            height=600,
            labels={
                selected_y: "{} {}".format(selected_y_gene, selected_y),
                selected_x: "{} {}".format(selected_x_gene, selected_x),
            },

I am using Plotly dash for creating a scatter plot. The legends I am getting in the final figure are randomly placed. I want to sort labels alphabetically from A to Z with category_orders function

fig = px.box(
            df,
            x=selected_x,
            y=selected_y,
            points='all',
            hover_data=hover_data,
            color=colour_by,
            width=800,
            height=600,
            labels={
                selected_y: "{} {}".format(selected_y_gene, selected_y),
                selected_x: "{} {}".format(selected_x_gene, selected_x),
            },

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

去了角落 2025-01-24 13:23:31

如果有很多标签,那么一个简单的选择是使用categoryorder例如,使用 layout.xaxis

Example using the iris dataset:

import plotly.express as px

df = px.data.iris()

fig = px.box(
    df,
    x="species",
    y="sepal_length",
    points="all",
    width=800,
    height=600,
)
fig.update_xaxes(categoryorder="category ascending")

result

If you wish to use category_orders in plotly.express.box:

fig = px.box(
    df,
    x="species",
    y="sepal_length",
    points="all",
    category_orders=dict(species=['setosa', 'versicolor', 'virginica']),
    width=800,
    height=600,
)
fig

If there are many labels, a simple alternative would be to use categoryorder e.g for x-axis using Layout.xaxis.

Example using the iris dataset:

import plotly.express as px

df = px.data.iris()

fig = px.box(
    df,
    x="species",
    y="sepal_length",
    points="all",
    width=800,
    height=600,
)
fig.update_xaxes(categoryorder="category ascending")

result

If you wish to use category_orders in plotly.express.box:

fig = px.box(
    df,
    x="species",
    y="sepal_length",
    points="all",
    category_orders=dict(species=['setosa', 'versicolor', 'virginica']),
    width=800,
    height=600,
)
fig
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文