1
resposta

Explodir Gráfico de Pizza

fig = plt.figure(figsize=(5,4)) eixo = fig.add_axes([0,0,1,1])

explodir = [0.1,0,0,0,0,0.1,0.1]

eixo.pie(temperatura_por_dia_da_semana, labels=temperatura_por_dia_da_semana.index, autopct='%.1f%%', explode=explodir, shadow=True) eixo.set_title('Temperatura por dia da semana', size=15, pad=10)

Ao utilizar o código acima para explodir dados do gráfico de pizza, está aparecendo o erro abaixo:

eixo.pie(temperatura_por_dia_da_semana, labels=temperatura_por_dia_da_semana.index, autopct='%.1f%%', explode=explodir, shadow=True) eixo.set_title('Temperatura por dia da semana', size=15, pad=10)

ValueError Traceback (most recent call last) ~\AppData\Local\Temp\ipykernel_11004\478572754.py in 5 explodir = [0.1,0,0,0,0,0.1,0.1] 6 ----> 7 eixo.pie(temperatura_por_dia_da_semana, labels=temperatura_por_dia_da_semana.index, 8 autopct='%.1f%%', explode=explodir, shadow=True) 9 eixo.set_title('Temperatura por dia da semana', size=15, pad=10)

~\anaconda3\lib\site-packages\matplotlib_init__.py in inner(ax, data, args, *kwargs) 1410 def inner(ax, args, data=None, *kwargs): 1411 if data is None: -> 1412 return func(ax, *map(sanitizesequence, args), *kwargs) 1413 1414 bound = new_sig.bind(ax, *args, *kwargs)

~\anaconda3\lib\site-packages\matplotlib\axes_axes.py in pie(self, x, explode, labels, colors, autopct, pctdistance, shadow, labeldistance, startangle, radius, counterclock, wedgeprops, textprops, center, frame, rotatelabels, normalize) 3058 raise ValueError("'label' must be of length 'x'") 3059 if len(x) != len(explode): -> 3060 raise ValueError("'explode' must be of length 'x'") 3061 if colors is None: 3062 get_next_color = self.getpatches_for_fill.get_next_color

ValueError: 'explode' must be of length 'x'

Meu código está igual ao do instrutor, mas não está rodando, poderiam me ajudar?

1 resposta

Oii, Jorge! Tudo bem?

Perdão pela demora.

No seu caso, a lista explodir tem 7 elementos. Isso significa que a variável temperatura_por_dia_da_semana também precisa ter 7 elementos. Se a variável temperatura_por_dia_da_semana tiver mais ou menos que 7 elementos, você encontrará esse erro.

Antes de criar o gráfico de pizza, criamos o de barras no curso. Antes de criar o gráfico, utilizamos este trecho de código:

temperatura_por_dia_da_semana = df.groupby('dia_da_semana')['temperatura'].mean()
nome_dias = ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado']
temperatura_por_dia_da_semana = temperatura_por_dia_da_semana[nome_dias]
temperatura_por_dia_da_semana

Ele é importante porque criamos uma lista com as médias das temperaturas para os dias e deixamos dentro de uma variável.

Portanto, aconselho verificar se o código está correto para fazer o gráfico de pizza.

Abraços!