排列数据以便在 Plotly 中使用玫瑰图
Arrange data in order to use rose diagram with Plotly
我尝试用 Plotly 绘制风玫瑰图。这是我从网上找到的代码,效果很好。
import plotly.express as px
df = px.data.wind()
fig = px.bar_polar(df, r="frequency", theta="direction",
color="strength", template="plotly_dark",
color_discrete_sequence= px.colors.sequential.Plasma_r)
fig.show()
这是输出。
但是我的数据格式和要求的不一样。所需格式为 方向(西、东西等)、强度(例如:1 至 6 级)和 频率(这里我附上了数据框的一部分)。
但是我的数据集有大约 80,000 个不同时间点的数据点。 (我没有频率栏,我有不同时间点的方向和强度)。
如何转换我的数据以使 频率
(这里我附上了我的数据框的一部分)
假设您有这样的数据:
grp = df.groupby(["Direction","Strength"]).size()\
.reset_index(name="frequency")
输出为:
我尝试用 Plotly 绘制风玫瑰图。这是我从网上找到的代码,效果很好。
import plotly.express as px
df = px.data.wind()
fig = px.bar_polar(df, r="frequency", theta="direction",
color="strength", template="plotly_dark",
color_discrete_sequence= px.colors.sequential.Plasma_r)
fig.show()
这是输出。
但是我的数据格式和要求的不一样。所需格式为 方向(西、东西等)、强度(例如:1 至 6 级)和 频率(这里我附上了数据框的一部分)。
但是我的数据集有大约 80,000 个不同时间点的数据点。 (我没有频率栏,我有不同时间点的方向和强度)。
如何转换我的数据以使 频率
(这里我附上了我的数据框的一部分)
假设您有这样的数据:
grp = df.groupby(["Direction","Strength"]).size()\
.reset_index(name="frequency")
输出为: