Matplotlib Tutorial - Gráfico de Linhas

Jinku Hu 13 maio 2021
  1. Matplotlib Linha Linear
  2. Linha Curva Matplotlib
  3. Tipo de linha Matplotlib
Matplotlib Tutorial - Gráfico de Linhas

Começamos por traçar o tipo de gráfico básico - gráfico de linhas. O plot pode facilmente traçar linhas como linha linear ou curva, e também ter diferentes configurações como cores, largura, tamanho do marcador, etc.

Matplotlib Linha Linear

# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 9, 10)
y = 2 * x
plt.plot(x, y, "b-")
plt.show()

Ele traça a linha de y=2*x, onde x está no intervalo entre 0 e 9.

Gráfico de Linha Matplotlib - Linha Linear

plt.plot(x, y, "b-")

Ele traça os dados de x e y com um estilo de linha de b - cor azul e - - linha sólida.

Linha Curva Matplotlib

# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 4 * np.pi, 1000)
y = np.sin(x)

plt.plot(x, y, "r--")

plt.show()

Ela gera uma forma de onda sinusoidal, e tem o estilo de linha como cor vermelha - r e linha tracejada - --.

Gráfico de Linha Matplotlib - Linha Curva

Tipo de linha Matplotlib

Você poderia mudar o tipo de linha como largura, cor e estilo de linha com diferentes argumentos de entrada na função plt.plot().

matplotlib.pyplot.plot(*args, **kwargs)

Parâmetros*

Nome Descritério
x, y As coordenadas horizontais / verticais dos pontos de dados
fmt Uma string de formatos, por exemplo b- para linha azul sólida.

kwargs

Propriedade Descrição
color ou c qualquer cor matplotlib
figure uma instância Figure
label objeto
linestyle ou ls [‘solid’ | ‘dashed’, ‘dashdot’, ‘dotted’ | (offset, on-off-dash-seq) | '-']
linewidth ou lw largura de linha em pontos
marker A valid marker style
markersize ou ms float
xdata 1D array
ydata 1D matriz
zorder float

Cor da linha

Você tem alguns métodos para nomear a cor no argumento color.

Letra única Alias

The basic built-in colors have the alias as below,

Alias Cor
b azul
g verde
r vermelho
c ciano
m magenta
y amarelo
k preto
w branco

Gráfico de Linhas Matplotlib -Cor de uma só letra Alias

Html Hex String

Você poderia passar uma string hexadecimal html válida para o parâmetro color, como

color = "#f44265"

RGB Tuple

Você também poderia especificar a cor utilizando um tuple R,G,B, onde os valores R, G, B estão na faixa de [0, 1] ao invés da faixa normal de [0, 255].

A cor representada com a string hexadecimal html acima tem o valor RGB de (0.9569, 0.2588, 0.3891).

color = (0.9569, 0.2588, 0.3891)

Estilo de Linha

O Matplotlib tem 4 estilos de linha incorporados,

Estilo de Linha
- Gráfico de linhas Matplotlib - Estilo de linha - ‘-’
-- Gráfico de linhas Matplotlib - Estilo de linha - ‘–’
: Gráfico de linhas Matplotlib - Estilo de linha - ‘:’
:- Gráfico de linhas Matplotlib - Estilo Linha - ‘-.’
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 4 * np.pi, 1000)


for index, line_style in enumerate(["-", "--", ":", "-."]):
    y = np.sin(x - index * np.pi / 2)
    plt.plot(x, y, "k", linestyle=line_style, lw=2)

plt.title("Line Style")
plt.grid(True)

plt.show()

Gráfico de linhas Matplotlib - Estilo de linha

Largura da linha

Você poderia especificar a largura da linha com o parâmetro linewidth como em

linewidth = 2  # unit is points

ou simplesmente usar a sua abreviatura,

lw = 2
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 20, 21)

for line_width in [0.5, 1, 2, 4, 8]:
    y = line_width * x
    plt.plot(x, y, "k", linewidth=line_width)

plt.title("Line Width")
plt.grid(True)

plt.show()

Gráfico de linhas Matplotlib - Largura de linha

Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook