Estilos de linha em Matplotlib Python

Suraj Joshi 15 fevereiro 2024
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:

Estilo de linhas por defeito em Matplotlib Python

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:

Set Linestyle em Matplotlib Python

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:

Definir o estilo de linhas em Python Matplotlib utilizando o Dicionário

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 avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Artigo relacionado - Matplotlib Line