gpt4 book ai didi

python - Plotly:雷达图将 theta 误认为是 int 而不是 string

转载 作者:行者123 更新时间:2023-12-01 00:18:04 25 4
gpt4 key购买 nike

我正在尝试制作雷达图,并且我希望 theta 轴是字符串。它们应该是["01", "02", "03"]。然而,它们被 Plotly 读取为数字。

import pandas as pd
import plotly.express as px

df = pd.DataFrame(dict(
r=[22, 6, 0],
theta=["01", "02", "03"]))
fig = px.line_polar(df, r='r', theta='theta', line_close=True)
fig.update_traces(fill='toself')
fig.show()

enter image description here

但是,如果我向数组添加一些文本,它会作为字符串读取,并获得我正在查找的数字。

df = pd.DataFrame(dict(r=[22, 6, 0],
theta=["Code: 01", "Code: 02", "Code: 03"]))
fig = px.line_polar(df, r='r', theta='theta', line_close=True)
fig.update_traces(fill='toself')
fig.show()

enter image description here

如何让 Plotly 将数组作为字符串读取,而无需添加额外的文本? (实际 plotly 要拥挤得多)。

最佳答案

所以这里发生的是,角轴的type被推断为线性而不是category,因为所有字符串都包含只有数字。如果添加非数字字符串,则会以另一种方式进行推理。

您可以显式设置 plotly.expressplotly.graph_objects 方法的类型

fig.update_polars(angularaxis_type="category") # chaining-friendly

fig.layout.polar.angularaxis.type="category" # more imperative style

关于python - Plotly:雷达图将 theta 误认为是 int 而不是 string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59168085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com