Personalização dos Eixos
Personalização dos Tiques
Para ajustar os tiques em um gráfico, utilize as funções do módulo pyplot
:
xticks
para personalizar o eixo x;yticks
para personalizar o eixo y.
Ambas as funções seguem a mesma sintaxe e possuem dois parâmetros principais:
ticks
define as posições onde os tiques devem aparecer. Qualquer estrutura semelhante a array pode ser utilizada. Para remover todos os tiques, passe uma lista vazia;labels
atribui texto personalizado a cada posição de tique. Deve ser utilizado em conjunto com o parâmetroticks
.
Também é possível incluir argumentos adicionais para estilizar os rótulos e controlar sua aparência.
Abaixo está um dos gráficos criados recentemente:
O gráfico parece estar adequado, porém seria melhor exibir mais anos no eixo x dentro deste intervalo (1995-2020). Para isso, utilize xticks()
:
import pandas as pd import matplotlib.pyplot as plt # Loading the dataset with the average yearly temperatures in Boston and Seattle url = 'https://staging-content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' weather_df = pd.read_csv(url, index_col=0) # Plotting the data plt.plot(weather_df['Boston'], label='Boston') plt.plot(weather_df['Seattle'], label='Seattle') # Adding a title and legend plt.title('Boston and Seattle average yearly temperatures') plt.legend(loc='upper left') # Setting the x-ticks coordinates and their rotation plt.xticks(range(1995, 2021, 2), rotation=30) # Displaying the plot plt.show()
Agora, a cada dois anos aparece no eixo x. Isso foi alcançado utilizando a função range()
com um passo de 2
para o argumento ticks
.
Além disso, os rótulos dos ticks foram rotacionados 30 graus no sentido anti-horário usando a palavra-chave rotation
para melhorar a legibilidade.
Os rótulos dos ticks também podem ser especificados manualmente passando uma lista para o argumento labels
(por exemplo, labels = ['label1', 'label2']
).
Personalização dos Rótulos dos Eixos
É possível utilizar as funções xlabel()
e ylabel()
do módulo pyplot
para definir os rótulos do eixo x e do eixo y. Essas funções exigem apenas um parâmetro: o próprio rótulo (uma string
).
import pandas as pd import matplotlib.pyplot as plt url = 'https://staging-content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' weather_df = pd.read_csv(url, index_col=0) # Plotting the data plt.plot(weather_df['Boston'], label='Boston') plt.plot(weather_df['Seattle'], label='Seattle') # Adding title, legend, and labels plt.title('Boston and Seattle average yearly temperatures') plt.legend(loc='upper left') plt.xticks(range(1995, 2021, 2), rotation=30) plt.ylabel('Temperature, °F') # Displaying the plot plt.show()
Também é possível modificar a aparência do rótulo, por exemplo, definir o tamanho da fonte através do argumento de palavra-chave fontsize
ou sua cor através do argumento de palavra-chave color
.
Além disso, existe o parâmetro loc
, que especifica a localização do rótulo (center
por padrão).
Para o rótulo do eixo x, os valores possíveis são
'left'
,'center'
e'right'
;Para o eixo y, em vez de
'left'
e'right'
, existem'top'
e'bottom'
.
Swipe to start coding
- Utilize a função adequada para definir
data_linear
como os ticks do eixo x. - Utilize a função adequada para definir
'x'
como o rótulo do eixo x. - Utilize
'right'
como a localização do rótulo do eixo x. - Utilize a função adequada para definir
'y'
como o rótulo do eixo y. - Utilize
'top'
como a localização do rótulo do eixo y. - Defina o parâmetro
rotation
como0
para o rótulo do eixo y.
Solução
Obrigado pelo seu feedback!