[英]Plotly: Add size proportionate child features in sunburst in continuous color scale
[英]Plotly: Add parallel features in sunburst with sizes proportionate to parent class
在 plotly 旭日形图中,我想将多个子类添加到父 class。 我尝试将值分配给names, parents, values
,如此处所示。 但它返回一个空白数字。 我尝试创建一个path
变量(在下面的代码中),但我不确定如何将多个直接子级命名为单个父级 class。 这就是我想要的-
这是重现的代码-
import pandas as pd
import plotly.express as px
df = pd.DataFrame({'continent':['SA','SA','NA','NA'],
'country':['Brazil','Uruguay','USA','Canada'],
'total_vaccinations':[100,80,400,200],
'people_vaccinated':[40,20,100,80],
'people_fully_vaccinated':[8,4,11,11]})
px.sunburst(df, path=['continent','country'],values='total_vaccinations')
我希望people_vaccinated
和people_fully_vaccinated
特征作为描述total_vaccinations
的各个国家的孩子。 我希望它们的大小与它们的价值成比例。 帮助将不胜感激!
如您所见,有两种方法可以使用px.sunburst()
创建旭日形图。 使用path
变量或使用names
、 parents
和values
变量。
带有path
变量的第一个变体适用于矩形数据,因此不适合您,因为您有缺失值。 尽管存在缺失值的矩形数据的可能性,但它要求缺失值的父项没有其他条目(plotly ref) 。
因此,您必须使用第二个变体 go。 由于您有一些名称相同的叶子,因此除了names
、 parents
和values
之外,您还需要定义一个具有唯一字符串的列表ids
。
import pandas as pd
import plotly.express as px
data = {
'ids':['SA', 'NA', 'Brazil', 'Uruguay', 'USA', 'Canada', 'PFV Brazil', 'PV Brazil', 'PFV Uruguay', 'PV Uruguay', 'PFV USA', 'PV USA', 'PFV Canada', 'PV Canada'],
'labels': ['SA', 'NA', 'Brazil', 'Uruguay', 'USA', 'Canada', 'PFV', 'PV', 'PFV', 'PV', 'PFV', 'PV', 'PFV', 'PV'],
'parent': ['', '', 'SA', 'SA', 'NA', 'NA', 'Brazil', 'Brazil', 'Uruguay', 'Uruguay', 'USA', 'USA', 'Canada', 'Canada'],
'value': [0, 0, 100, 80, 400, 200, 8, 40, 4, 20, 11, 100, 11, 80]
}
fig =px.sunburst(data, names='labels', parents='parent', values='value', ids='ids')
fig.show()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.