Python график солнечных лучей открывает пустую страницу - PullRequest
0 голосов
/ 19 июня 2020

Я пытаюсь создать диаграмму солнечных лучей для plotly, однако, когда я запускаю ее с помощью fig.show (), она открывает полностью пустую страницу без сообщения об ошибке? Код, который я использую, приведен ниже, спасибо за любую помощь, которую я могу получить.

import plotly.graph_objects as go

fig = go.Figure(go.Sunburst(
    labels=['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=[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()

1 Ответ

1 голос
/ 19 июня 2020

Причина, по которой ваш текущий код не отображается, заключается в том, что ваши родительские категории сами не имеют родителей. Вам нужно добавить список родительских категорий к меткам и добавить такое же количество пустых строк к родительскому классу. Для диаграмм солнечных лучей пустая строка считается 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, но, вероятно, вы можете реализовать эти значения как сумму подкатегорий ниже них или какое-то другое число, которое имеет больше смысла для ваших данных.

Надеюсь, это поможет!

...