Estilos de linha em Matplotlib Python

Estilos de linha em Matplotlib Python

Suraj Joshi Jul-18, 2021 Feb-06, 2021 Matplotlib Matplotlib Line

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().

Artigo relacionado - Matplotlib Line

  • Como traçar linhas horizontais e verticais em Matplotlib
  • Desenhar linhas verticais em um gráfico Matplotlib
  • Plotar várias linhas em Python Matplotlib