Диаграмма Colab:
Диаграмма Colab
Диаграмма vscode:
Таблица кода VS
Я уже обновил и переустановил версии colab в своей среде, но безуспешно.
Код: Выделить всё
import numpy as np
import pandas as pd
import plotly.graph_objects as go
s = 200
data = {
'bebes': np.random.choice(['1', '2', '0', '3+'], size=s, p=[0.2, 0.3, 0.4, 0.1]),
'criancas': np.random.choice(['1', '2', '0', '3+'], size=s, p=[0.5, 0.2, 0.1, 0.2]),
'adultos': np.random.choice(['1', '2', '0', '3+'], size=s, p=[0.1, 0.5, 0.2, 0.2]),
'idosos': np.random.choice(['1', '2', '0', '3+'], size=s)
}
df = pd.DataFrame(data)
counts = df.apply(pd.Series.value_counts).fillna(0)
categories = ['0', '1', '2', '3+']
categories_ordered = [*categories, categories[0]]
bebes = counts['bebes'].reindex(categories).tolist()
criancas = counts['criancas'].reindex(categories).tolist()
adultos = counts['adultos'].reindex(categories).tolist()
idosos = counts['idosos'].reindex(categories).tolist()
bebes.append(bebes[0])
criancas.append(criancas[0])
adultos.append(adultos[0])
idosos.append(idosos[0])
fig = go.Figure(
data=[
go.Scatterpolar(
r=bebes,
theta=categories_ordered,
name='Bebês',
fill='toself',
marker=dict(symbol='circle', size=8, color='#FFA500'),
hoverinfo='r+theta'
),
go.Scatterpolar(
r=criancas,
theta=categories_ordered,
name='Crianças',
fill='toself',
marker=dict(symbol='square', size=8, color='#60A3D9'),
hoverinfo='r+theta'
),
go.Scatterpolar(
r=adultos,
theta=categories_ordered,
name='Adultos',
fill='toself',
marker=dict(symbol='triangle-up', size=8, color='#0074B7'),
hoverinfo='r+theta'
),
go.Scatterpolar(
r=idosos,
theta=categories_ordered,
name='Idosos',
fill='toself',
marker=dict(symbol='hexagon', size=8, color='#003B73'),
hoverinfo='r+theta'
)
],
layout=go.Layout(
title=go.layout.Title(text='Composição Familiar por Grupos Etários'),
polar={
'radialaxis': {'visible': True},
'angularaxis': {
'categoryarray': categories_ordered,
'categoryorder': 'array',
'tickfont': dict(size=16)
},
'radialaxis': {
'tickfont': dict(size=16)
}
},
showlegend=True,
height=600,
width=800,
)
)
fig.update_traces(
hovertemplate="Quantidade de domicílios: %{r}",
hoverlabel=dict(
bgcolor="white",
font=dict(size=14, color='black')
),
marker=dict(line=dict(color='#FFFFFF', width=1)),
)
fig.update_layout(
legend=dict(
font=dict(size=12, color='black'),
bgcolor='white',
bordercolor='white',
borderwidth=1,
orientation='h',
x=0.5,
y=-0.2
)
)
fig.show()
Подробнее здесь: https://stackoverflow.com/questions/787 ... tual-theta