Причина, по которой ваш текущий код не отображается, заключается в том, что ваши родительские категории сами не имеют родителей. Вам нужно добавить список родительских категорий к меткам и добавить такое же количество пустых строк к родительскому классу. Для диаграмм солнечных лучей пустая строка считается root.
Для вашего примера это будет выглядеть так:
import plotly.graph_objects as go
fig = go.Figure(go.Sunburst(
labels=['Business_and_Law', 'Technology', 'Humanities_and_Social_Science', 'Science_and_Health', 'Biology', 'Economics', 'Physics', 'Chemistry', 'Psychology', 'Sociology', 'Medicine', 'Social_psychology',
'Geology', 'Mathematics', 'Classical_mechanics', 'Ecology', 'Fishery', 'Engineering', 'Molecular_biology', 'Computer_science', 'Biochemistry', 'Fisheries_management', 'Quantum_electrodynamics'],
parents=['', '', '', '', 'Science_and_Health', 'Business_and_Law', 'Science_and_Health', 'Science_and_Health', 'Science_and_Health', 'Humanities_and_Social_Science', 'Science_and_Health', 'Humanities_and_Social_Science', 'Humanities_and_Social_Science',
'Business_and_Law', 'Technology', 'Humanities_and_Social_Science', 'Humanities_and_Social_Science', 'Technology', 'Science_and_Health', 'Technology', 'Science_and_Health', 'Humanities_and_Social_Science', 'Science_and_Health'],
values=[0, 0, 0, 0, 40, 37, 31, 26, 20, 19, 19, 18, 18,
16, 15, 12, 12, 11, 11, 10, 10, 10, 10]
))
fig.update_layout(margin=dict(t=0, l=0, r=0, b=0))
fig.show()
Я дал значения для родительских категорий все 0, но, вероятно, вы можете реализовать эти значения как сумму подкатегорий ниже них или какое-то другое число, которое имеет больше смысла для ваших данных.
Надеюсь, это поможет!