Como adicionar linha média ao gráfico no matplotlib
Você pode usar a seguinte sintaxe básica para adicionar uma linha média a um gráfico no Matplotlib:
import matplotlib. pyplot as plt import numpy as np #create scatterplot plt. scatter (df. x , df. y ) #add horizontal line at mean value of y plt. axhline (y=np. nanmean (df. y ))
Observe que axhline adiciona uma linha horizontal ao gráfico e nanmean calcula o valor médio (ignorando NaNs) onde a linha deve ser colocada.
O exemplo a seguir mostra como usar essa sintaxe na prática.
Exemplo: Adicione uma linha média ao gráfico no Matplotlib
Suponha que temos o seguinte DataFrame do pandas:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' x ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
' y ':[2, 5, 6, 5, 7, 8, 10, 12, 10, 9, 11, 15]})
#view first five rows of DataFrame
df. head ()
x y
0 1 2
1 2 5
2 3 6
3 4 5
4 5 7
Podemos usar o código a seguir para criar um gráfico de dispersão de x versus y e adicionar uma linha horizontal que representa o valor médio de y:
import matplotlib. pyplot as plt import numpy as np #create scatterplot plt. scatter (df. x , df. y ) #add horizontal line at mean value of y plt. axhline (y=np. nanmean (df. y ))
Podemos ver que uma linha média foi adicionada ao gráfico logo acima do valor y de 8.
Se calcularmos o valor médio de y, descobriremos que é 8,333:
#calculate average y-value n.p. nanmean (df. y ) 8.333333333
Observe que também podemos usar os argumentos color , linestyle e linewidth para especificar a cor, o tipo de linha e a largura de linha da linha média, respectivamente:
import matplotlib. pyplot as plt import numpy as np #create scatterplot plt. scatter (df. x , df. y ) #add horizontal line at mean value of y plt. axhline (y=np. nanmean (df. y ), color=' red ', linestyle=' -- ', linewidth= 3 , label=' Avg ')
Nota : Você pode encontrar a documentação online completa para a função axhline() aqui .
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns no Matplotlib:
Como adicionar uma linha de tendência no Matplotlib
Como desenhar uma linha vertical no Matplotlib
Como plotar múltiplas linhas no Matplotlib