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