Como usar rótulos em matplotlib

Como usar rótulos em matplotlib
Vamos ver métodos diferentes para rotular o gráfico de matplotlib. Os rótulos fornecerão informações completas sobre o gráfico e são fáceis de entender pela outra pessoa.

Então, neste artigo, veremos detalhes sobre os seguintes tópicos:

  1. Adicionando texto no gráfico
  2. Adicionando rótulos aos gráficos de matplotlib
  3. Anotação de texto (matplotlib.Pyplot.anote ()) para o gráfico de linha
  4. Anotação de texto (matplotlib.Pyplot.anote ()) para o gráfico de barras
  5. Anotação de texto (matplotlib.Pyplot.anote ()) para o gráfico de plotagem dispersor
  6. Função da legenda

1. Adicionando texto no gráfico

Também podemos adicionar texto no gráfico para que não precisemos apontar informações importantes enquanto apresentamos algo. Se incluirmos o texto em dados específicos, isso também parecerá mais profissional ou informativo.

A sintaxe é:

# AddingTexTonGraph.py
importar matplotlib.pyplot como plt
importar numpy como np
plt.clf ()
# Usando alguns dados fictícios para este exemplo
x_value = np.ARANGE (0,15,1)
print ("x_value", x_value)
y_value = np.aleatório.Normal (loc = 2.0, escala = 0.9, tamanho = 15)
print ("y_value", y_value)
plt.plot (x_value, y_value)
# O texto padrão será alinhado à esquerda
plt.Texto (1,3, 'Este texto começa em x = 1 e y = 3')
# Este texto será alinhado à direita
plt.Texto (6,2, 'Este texto termina em x = 6 e y = 2', horizontalalignment = 'Right')
plt.mostrar()

Linha 2 a 3: Importamos todos os pacotes necessários para este programa.

Linha 5: Chamamos o método clf (). Esta função ajuda a desenhar algo no próprio gráfico anterior. Não fechará a janela do gráfico para que dois itens diferentes possamos desenhar no mesmo gráfico.

Linha 7 a 11: Acabamos de criar alguns valores aleatórios para os X_Values ​​e Y_Values.

Linha 12: Passamos aqueles que criam valores aleatórios x e y na função da plotagem para desenhar o gráfico.

Linha 15 a 20: Nosso gráfico está pronto e tem que adicionar algum texto. Então, primeiro adicionamos o texto, que começa de x = 1, y = 3 (1, 3). Por padrão, o texto será alinhado à esquerda para que o texto acima comece a partir do ponto (1, 3).

Na próxima linha, adicionamos outro texto cujo ponto de partida é x = 6 e y = 2. Mas desta vez, mencionamos o seu horizontalalignamento = "Right", então o terminal de texto é (6, 2).

Saída: Pitão AddingTexTonGraph.py

x_value [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]
y_value [1.70365904 3.73967715 1.11413564 2.82135022 2.87735691 1.98391073
1.75867938 3.01109059 2.6281119 1.89008119 1.58300606 1.3142607
1.01428062 0.84672494 0.07056874]

2. Adicionando rótulos aos gráficos de matplotlib

Neste exemplo, vamos adicionar os nomes dos rótulos no gráfico. No exemplo anterior, se veremos o gráfico, é difícil entender o que o gráfico está tentando dizer porque não há informações sobre dados de eixo x ou eixo y. E também não somos capazes de ver onde os dados reais residem no enredo. Então, vamos adicionar marcadores para ver os pontos de dados na trama junto com os rótulos.

# addLabels.py
# importe a biblioteca necessária
importar matplotlib.pyplot como plt
# X e y dados
númeroofemp = [13, 200, 250, 300, 350, 400]
ano = [2011, 2012, 2013, 2014, 2015, 2016]
# traçar um gráfico de linha
plt.plot (ano, númerofemp, marker = "o")
# Definir nome da etiqueta do título do eixo x
plt.xlabel ("ano")
# Definir nome da etiqueta do título do eixo x
plt.Ylabel ("Número de funcionários")
# Definir o nome do rótulo do título do gráfico
plt.título ("Número de funcionários v/s de crescimento do ano")
plt.mostrar()

Linha 4 a 8: Importamos a biblioteca necessária e criamos duas listas para x e y. A lista númeroftemp representa o eixo x e o ano da lista representa o eixo y.

Linha 11: Passamos esses parâmetros X e Y para a função da plotagem e adicionamos mais um parâmetro no marcador da função da plotagem. O marcador será usado para exibir os pontos de dados no gráfico. Há vários marcadores disponíveis para apoiar.

Linha 13 a 19: Definimos os nomes dos rótulos ao longo do eixo x, eixo y e o nome do título do gráfico.

Saída: python addlabels.py

3. Anotação de texto (matplotlib.Pyplot.anote ()) para o gráfico de linha

A anotação de texto é outra função no matplotlib que ajuda a anotar os pontos de dados.

# DataPoints_labels_on_line_graph.py
# importe os pacotes necessários
importar matplotlib.pyplot como plt
importar numpy como np
# importe o método clf () para desenhar outro gráfico na mesma janela do gráfico
plt.clf ()
# conjunto de dados fictício da Numpy
x_values ​​= np.ARANGE (0,10,1)
y_values ​​= np.aleatório.Normal (loc = 2, escala = 0.2, tamanho = 10)
plt.plot (x_values, y_values, marcador = 'd', mfc = 'verde', mec = 'amarelo', ms = '7')
#Joins os valores X e Y
para x, y em zip (x_values, y_values):
Label = ":.3f ".formato (y)
plt.anote (etiqueta, # Este é o valor que queremos rotular (texto)
(x, y), # x e y é o local dos pontos onde temos que rotular
TextCoords = "Pontos de deslocamento",
xyText = (0,10), # isso para a distância entre os pontos
# e o rótulo de texto
ha = 'centro',
ArrowProps = Dict (ArrowStyle = "->", color = 'Green')))
plt.mostrar()

Linha 14: Passamos pelo parâmetro marker = "d", mfc (markerfacecolor) cor verde, mec (markeredgecolor) amarelo e ms (markersize). O MEC (MarkeredGecolor) é uma cor que vem fora do ponto de dados.

Linha 19: Estamos formatando o valor de Y.

Como mostrado abaixo:

valor real de y = 2.0689824848029414

Após o formato, o valor de y é 2.069 (arredondado para 3 pontos decimais)

Linha 21 a 29: Passamos todos os parâmetros necessários para a função de anotação, que é o, (x, y). Xytext é para a distância entre os pontos e o rótulo. O ArrowProps é outro parâmetro usado para o gráfico para mostrar uma maneira mais profissional. E finalmente, plotamos o gráfico que é mostrado abaixo.

Saída: python dataapoints_labels_on_line_graph.py

4. Anotação de texto (matplotlib.Pyplot.anote ()) para o gráfico de barras

Também podemos adicionar anotação de texto ao gráfico de barras do matplotlib.

# ANNOTATION_BAR_GRAPH.py
# importe os pacotes necessários
importar matplotlib.pyplot como plt
importar numpy como np
# importe o método clf () para desenhar outro gráfico na mesma janela do gráfico
plt.clf ()
# conjunto de dados fictício da Numpy
x_values ​​= np.ARANGE (0,10,1)
y_values ​​= np.aleatório.Normal (loc = 2, escala = 0.5, tamanho = 10)
plt.bar (x_values, y_values)
# zip se junta às coordenadas X e Y em pares
para x, y em zip (x_values, y_values):
Label = ":.3f ".formato (y)
plt.anote (etiqueta, # Este é o valor que queremos rotular (texto)
(x, y), # x e y é o local dos pontos onde temos que rotular
TextCoords = "Pontos de deslocamento",
xyText = (0,10), # isso para a distância entre os pontos
# e o rótulo de texto
ha = 'centro',
ArrowProps = Dict (ArrowStyle = "->", color = 'Black')))
plt.mostrar()

O código de anotação acima é o mesmo que a anotação do gráfico de linhas. A mudança que fizemos na linha 14.

Linha 14: Esta é a linha em que mudamos. Agora, estamos chamando a função da barra e passando os dados X e Y para isso.

Saída: Python ANNOTATION_BAR_GRAPH.py

5. Anotação de texto (matplotlib.Pyplot.anote ()) para o gráfico de plotagem dispersor

Também podemos adicionar anotação de texto ao gráfico de plotagem de dispersão do matplotlib.

# ANNOTATION_SCATTER_PLOT.py
# importe os pacotes necessários
importar matplotlib.pyplot como plt
importar numpy como np
# importe o método clf () para desenhar outro gráfico na mesma janela do gráfico
plt.clf ()
# conjunto de dados fictício da Numpy
x_values ​​= np.ARANGE (0,10,1)
y_values ​​= np.aleatório.Normal (loc = 2, escala = 0.5, tamanho = 10)
plt.dispersão (x_values, y_values)
# zip se junta às coordenadas X e Y em pares
para x, y em zip (x_values, y_values):
Label = ":.3f ".formato (y)
plt.anote (etiqueta, # Este é o valor que queremos rotular (texto)
(x, y), # x e y é o local dos pontos onde temos que rotular
TextCoords = "Pontos de deslocamento",
xyText = (0,10), # isso para a distância entre os pontos
# e o rótulo de texto
ha = 'centro',
ArrowProps = Dict (ArrowStyle = "->", color = 'Black')))
plt.mostrar()

O código de anotação acima é o mesmo que a anotação do gráfico de linhas. A mudança que fizemos na linha 14.

Linha 14: Esta é a linha em que mudamos. Agora, estamos chamando a função de dispersão e passando os dados X e Y para isso.

Saída: Python AnoTation_Scatter_Plot.py

6. Legenda (etiqueta)

Quando temos o conjunto de dados de categorias diferentes e queremos plotar no mesmo gráfico, precisamos de alguma notação para diferenciar qual categoria pertence a qual categoria. Que pode ser resolvido usando a legenda, como mostrado abaixo.

# usando_legand_labels.py
# importe a biblioteca necessária
importar matplotlib.pyplot como plt
# X e y dados
númerofemp_a = [13, 200, 250, 300, 350, 400]
númerofemp_b = [10, 100, 150, 200, 250, 800]
ano = [2011, 2012, 2013, 2014, 2015, 2016]
# traçar um gráfico de linha
plt.plot (ano, númerofemp_a, marcador = 'd', mfc = 'verde', mec = 'amarelo', ms = '7')
plt.plot (ano, númerofemp_b, marcador = 'o', mfc = 'vermelho', mec = 'verde', ms = '7')
# Definir nome da etiqueta do título do eixo x
plt.xlabel ("ano")
# Definir nome da etiqueta do título do eixo x
plt.Ylabel ("Número de funcionários")
# Definir o nome do rótulo do título do gráfico
plt.título ("Número de funcionários v/s de crescimento do ano")
plt.legenda (['númerofemp_a', 'númerofemp_b'])
plt.mostrar()

Linha 7 a 8: Criamos duas listas de dados numberofemp_a e númerofemp_b, para o eixo x. Mas A e B têm os mesmos valores do eixo y. Então, neste gráfico, compartilhamos o eixo x apenas porque a escala do eixo y para A e B é a mesma.

Linha 12 a 13: Acabamos de adicionar mais uma função de plotagem com alguns parâmetros diferentes.

Linha 16 a 22: Adicionamos rótulos para o gráfico.

Linha 24: Criamos a lenda para essas duas categorias para que duas categorias diferentes no mesmo gráfico possam ser facilmente diferenciadas.

Saída: python usando_legand_labels.py

Conclusão

Neste artigo, vimos métodos diferentes que podemos usar para o gráfico dos rótulos. Também vimos como anotar os dados de texto no gráfico, tornando o gráfico mais profissional. Então vimos a função da legenda para diferenciar diferentes categorias no mesmo gráfico.