Estilos de linha em Matplotlib Python
Este tutorial concentra-se em como podemos utilizar diferentes estilos de linhas no gráfico Matplotlib, definindo o valor apropriado do parâmetro linestyle
no método matplotlib.pyplot.plot()
. Temos muitas opções de linestyle
disponíveis.
Definir Estilos de Linhas em Matplotlib Python
import math
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2 * math.pi, 100)
y = np.sin(x)
plt.plot(x, y)
plt.xlabel("x")
plt.ylabel("sinx")
plt.title("Sinx Function")
plt.show()
Resultado:
Gera a trama da função sinx
com o estilo de linha padrão como solid
.
Para ver as escolhas disponíveis para o parâmetro sinx
, podemos executar o seguinte guião:
from matplotlib import lines
print(lines.lineStyles.keys())
Resultado:
dict_keys(["-", "--", "-.", ":", "None", " ", ""])
Podemos utilizar qualquer um dos valores de output para alterar o estilo da linha do gráfico.
import math
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2 * math.pi, 100)
y = np.sin(x)
plt.plot(x, y, linestyle="-.")
plt.xlabel("x")
plt.ylabel("sinx")
plt.title("Sinx Function")
plt.show()
Resultado:
Define o estilo da linha na nossa trama para -.
.
A documentação Matplotlib Linestyle
fornece-nos um dicionário que podemos utilizar para termos um controlo mais refinado sobre os estilos de linha. De acordo com a documentação, podemos definir o estilo de linha com (offset, (on_off_seq))
tuple.
import math
import numpy as np
import matplotlib.pyplot as plt
from collections import OrderedDict
linestyles_dict = OrderedDict(
[
("solid", (0, ())),
("loosely dotted", (0, (1, 10))),
("dotted", (0, (1, 5))),
("densely dotted", (0, (1, 1))),
("loosely dashed", (0, (5, 10))),
("dashed", (0, (5, 5))),
("densely dashed", (0, (5, 1))),
("loosely dashdotted", (0, (3, 10, 1, 10))),
("dashdotted", (0, (3, 5, 1, 5))),
("densely dashdotted", (0, (3, 1, 1, 1))),
("loosely dashdotdotted", (0, (3, 10, 1, 10, 1, 10))),
("dashdotdotted", (0, (3, 5, 1, 5, 1, 5))),
("densely dashdotdotted", (0, (3, 1, 1, 1, 1, 1))),
]
)
x = np.linspace(0, 2 * math.pi, 100)
y = np.sin(x)
plt.plot(x, y, linestyle=linestyles_dict["loosely dashdotdotted"])
plt.xlabel("x")
plt.ylabel("sinx")
plt.title("Sinx Function")
plt.show()
Resultado:
Define o linestyle
utilizando o dicionário linestyles_dict
. Podemos seleccionar qualquer chave para a qual queremos definir o estilo de linha e passar o valor dessa chave para o dicionário linestyles_dict
como parâmetro linestyle
no método plot()
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn