密谋:更改森伯斯特图表中元素的顺序

问题描述

我目前正在使用plotly express创建森伯斯特图表。但是,我意识到孩子们的名义价值是按字母顺序排列的。特别是对于绘制非常不幸的月份...您知道如何处理该问题吗?也许是物业或一些解决方法?下面有一个示例,您可以自己尝试。预先感谢!

import plotly.express as px
import pandas as pd
import calendar
months = [x for x in calendar.month_name if x]

#Create Dataframe
data = []
for m in months:
    data.append(['2018',m,2])
df = pd.DataFrame(data,columns=['Year','Month','Value'])

#Compute Sunburst
fig = px.sunburst(df,path=['Year','Month'],values='Value')
fig.show()

enter image description here

解决方法

Sunburst Chart

请检查一下。我只是在每个月中添加了值,而不是硬编码2。因此,对应的月份与对应的数字匹配。

1月1日,2月2日,12月12日...

import plotly.express as px
import pandas as pd
import calendar
months = [x for x in calendar.month_name if x]
#Create Dataframe
data = []
for i,m in enumerate(months):
    data.append(['2018',m,i+1])
print(data)
df = pd.DataFrame(data,columns=['Year','Month','Value'])

#Compute Sunburst
fig = px.sunburst(df,path=['Year','Month'],values='Value')
fig.show()

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...