Plotar várias linhas em Python Matplotlib
Este tutorial explica como podemos traçar múltiplas linhas usando Matplotlib e definir uma cor diferente para cada linha da figura.
Traçar uma única linha em Python Matplotlib
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(8)
y = 4 * x - 10
plt.plot(x, y)
plt.title("Plot line in Matplotlib", fontsize=15)
plt.xlabel("X", fontsize=13)
plt.ylabel("Y", fontsize=13)
plt.show()
Resultado:
Cria um gráfico da linha utilizando a função matplotlib.pyplot.plot()
. Passamos as coordenadas X
e Y
da linha como argumentos para a função plot()
.
Traçado de Várias Linhas em Python Matplotlib
Para traçar várias linhas em Matplotlib, continuamos a chamar a função matplotlib.pyplot.plot()
para cada linha e passamos as coordenadas da linha como argumento para a respectiva função plot()
.
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(8)
y1 = 4 * x + 5
y2 = 3 * x + 5
y3 = 2 * x + 5
y4 = x + 5
plt.plot(x, y1)
plt.plot(x, y2)
plt.plot(x, y3)
plt.plot(x, y4)
plt.title("Plot Multiple lines in Matplotlib", fontsize=15)
plt.xlabel("X", fontsize=13)
plt.ylabel("Y", fontsize=13)
plt.show()
Resultado:
Traça quatro linhas diferentes com eixos comuns, cada uma com cores diferentes. Chamamos a função matplotlib.pyplot.plot()
4 vezes para traçar as 4 linhas diferentes. Cada vez que passamos as coordenadas das diferentes linhas como argumentos para a função.
Para tornar o gráfico mais descritivo, podemos adicionar a legenda ao gráfico para inferir que linha é representada por que cor.
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(8)
y1 = 4 * x + 5
y2 = 3 * x + 5
y3 = 2 * x + 5
y4 = x + 5
plt.plot(x, y1, label="4x+5")
plt.plot(x, y2, label="3x+5")
plt.plot(x, y3, label="2x+5")
plt.plot(x, y4, label="x+5")
plt.title("Plot Multiple lines in Matplotlib", fontsize=15)
plt.xlabel("X", fontsize=13)
plt.ylabel("Y", fontsize=13)
plt.legend()
plt.show()
Resultado:
Traça 4 linhas na figura juntamente com a lenda. Para adicionar uma legenda à figura, definimos uma etiqueta para cada linha enquanto traçamos a linha, definindo o parâmetro label
na função plot()
. Finalmente, chamamos matplotlib.pyplot.legend()
para adicionar a legenda da figura.
Por defeito, o Matplotlib atribui automaticamente a cor à linha. Se quisermos controlar as cores para cada linha, utilizamos o método matplotlib.axes.Axes.set_prop_cycle()
.
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(8)
y1 = 4 * x + 5
y2 = 3 * x + 5
y3 = 2 * x + 5
y4 = x + 5
colors = ["orange", "purple", "green", "red"]
plt.gca().set_prop_cycle(color=colors)
plt.plot(x, y1, label="4x+5")
plt.plot(x, y2, label="3x+5")
plt.plot(x, y3, label="2x+5")
plt.plot(x, y4, label="x+5")
plt.title("Plot Multiple lines in Matplotlib", fontsize=15)
plt.xlabel("X", fontsize=13)
plt.ylabel("Y", fontsize=13)
plt.legend()
plt.show()
Resultado:
Define a laranja para a primeira linha, roxo para a segunda linha, verde para a terceira linha, e vermelho para a quarta linha. Passamos a lista de cores a utilizar como argumento para o método matplotlib.axes.Axes.set_prop_cycle()
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn