matplotlib.pyplot.plot #
- matplotlib.pyplot. plot ( * args , scalex = True , scaley = True , data = None , ** kwargs ) [source] #
Plote y versus x como linhas e/ou marcadores.
Assinaturas de chamada:
plot([x], y, [fmt], *, data=None, **kwargs) plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)
As coordenadas dos pontos ou nós das linhas são dadas por x , y .
O parâmetro opcional fmt é uma maneira conveniente de definir formatação básica como cor, marcador e estilo de linha. É uma notação de string de atalho descrita na seção Notas abaixo.
>>> plot(x, y) # plot x and y using default line style and color >>> plot(x, y, 'bo') # plot x and y using blue circle markers >>> plot(y) # plot y using x as index array 0..N-1 >>> plot(y, 'r+') # ditto, but with red plusses
Você pode usar
Line2D
propriedades como argumentos de palavras-chave para obter mais controle sobre a aparência. As propriedades de linha e fmt podem ser misturadas. As duas chamadas a seguir produzem resultados idênticos:>>> plot(x, y, 'go--', linewidth=2, markersize=12) >>> plot(x, y, color='green', marker='o', linestyle='dashed', ... linewidth=2, markersize=12)
Ao entrar em conflito com fmt , os argumentos de palavra-chave têm precedência.
Plotando dados rotulados
Existe uma maneira conveniente de plotar objetos com dados rotulados (ou seja, dados que podem ser acessados por index
obj['y']
). Em vez de fornecer os dados em x e y , você pode fornecer o objeto no parâmetro de dados e apenas fornecer os rótulos para x e y :>>> plot('xlabel', 'ylabel', data=obj)
Todos os objetos indexáveis são suportados. Isso pode ser, por exemplo
dict
, umpandas.DataFrame
array numpy estruturado.Plotando vários conjuntos de dados
Existem várias maneiras de plotar vários conjuntos de dados.
A maneira mais direta é apenas ligar
plot
várias vezes. Exemplo:>>> plot(x1, y1, 'bo') >>> plot(x2, y2, 'go')
Se x e/ou y forem matrizes 2D, um conjunto de dados separado será desenhado para cada coluna. Se x e y forem 2D, eles devem ter a mesma forma. Se apenas um deles for 2D com forma (N, m) o outro deve ter comprimento N e será usado para todo conjunto de dados m.
Exemplo:
>>> x = [1, 2, 3] >>> y = np.array([[1, 2], [3, 4], [5, 6]]) >>> plot(x, y)
é equivalente a:
>>> for col in range(y.shape[1]): ... plot(x, y[:, col])
A terceira maneira é especificar vários conjuntos de grupos [x] , y , [fmt] :
>>> plot(x1, y1, 'g^', x2, y2, 'g-')
Nesse caso, qualquer argumento de palavra-chave adicional se aplica a todos os conjuntos de dados. Além disso, esta sintaxe não pode ser combinada com o parâmetro de dados .
Por padrão, cada linha recebe um estilo diferente especificado por um 'ciclo de estilo'. Os parâmetros de propriedade fmt e line são necessários apenas se você quiser desvios explícitos desses padrões. Como alternativa, você também pode alterar o ciclo de estilo usando
rcParams["axes.prop_cycle"]
(padrão: ).cycler('color', ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf'])
- Parâmetros :
- x, y tipo matriz ou escalar
As coordenadas horizontal/vertical dos pontos de dados. Os valores x são opcionais e o padrão é
range(len(y))
.Normalmente, esses parâmetros são matrizes 1D.
Eles também podem ser escalares ou bidimensionais (nesse caso, as colunas representam conjuntos de dados separados).
Esses argumentos não podem ser passados como palavras-chave.
- fmt str, opcional
Uma string de formato, por exemplo, 'ro' para círculos vermelhos. Consulte a seção Notas para obter uma descrição completa das strings de formato.
As strings de formato são apenas uma abreviação para definir rapidamente as propriedades básicas da linha. Tudo isso e muito mais também podem ser controlados por argumentos de palavra-chave.
Este argumento não pode ser passado como palavra-chave.
- objeto indexável de dados , opcional
Um objeto com dados rotulados. Se fornecido, forneça os nomes dos rótulos para plotar em x e y .
Observação
Tecnicamente, há uma pequena ambiguidade nas chamadas em que o segundo rótulo é um fmt válido . pode ser ou . Nesses casos, a primeira interpretação é escolhida, mas um aviso é emitido. Você pode suprimir o aviso adicionando uma string de formato vazia .
plot('n', 'o', data=obj)
plt(x, y)
plt(y, fmt)
plot('n', 'o', '', data=obj)
- Devoluções :
- lista de
Line2D
Uma lista de linhas que representam os dados plotados.
- lista de
- Outros Parâmetros :
- scalex, scaley bool, padrão: True
Esses parâmetros determinam se os limites de visão são adaptados aos limites de dados. Os valores são passados para
autoscale_view
.- **
Line2D
propriedades kwargs, opcional kwargs são usados para especificar propriedades como um rótulo de linha (para legendas automáticas), largura de linha, antialiasing, cor da face do marcador. Exemplo:
>>> plot([1, 2, 3], [1, 2, 3], 'go-', label='line 1', linewidth=2) >>> plot([1, 2, 3], [1, 4, 9], 'rs', label='line 2')
Se você especificar várias linhas com uma chamada de plotagem, os kwargs se aplicam a todas essas linhas. Caso o objeto de rótulo seja iterável, cada elemento é usado como rótulo para cada conjunto de dados.
Aqui está uma lista de
Line2D
propriedades disponíveis:Propriedade
Descrição
uma função de filtro, que usa uma matriz flutuante (m, n, 3) e um valor de dpi e retorna uma matriz (m, n, 3) e dois deslocamentos do canto inferior esquerdo da imagem
escalar ou nenhum
bool
antialiased
ou aabool
bool
Patch ou (Caminho, Transformação) ou Nenhum
color
ou ccor
CapStyle
ou {'bunda', 'projetando', 'redondo'}JoinStyle
ou {'esquadria', 'redondo', 'chanfrado'}sequência de flutuações (on/off ink em pontos) ou (None, None)
(2, N) array ou dois arrays 1D
drawstyle
ou ds{'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'}, default: 'default'
{'completo', 'esquerda', 'direita', 'inferior', 'superior', 'nenhum'}
cor ou nenhum
str
bool
objeto
linestyle
ou ls{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
linewidth
ou lwflutuador
string de estilo de marcador,
Path
ouMarkerStyle
markeredgecolor
ou meccor
markeredgewidth
ou miarflutuador
markerfacecolor
ou mfccor
markerfacecoloralt
ou mfcaltcor
markersize
ou senhoraflutuador
None ou int ou (int, int) ou slice ou list[int] ou float ou (float, float) ou list[bool]
bool
float ou callable[[Artist, Event], tuple[bool, dict]]
desconhecido
bool
(escala: flutuante, comprimento: flutuante, aleatoriedade: flutuante)
bool ou nenhum
CapStyle
ou {'bunda', 'projetando', 'redondo'}JoinStyle
ou {'esquadria', 'redondo', 'chanfrado'}desconhecido
str
bool
matriz 1D
matriz 1D
flutuador
Veja também
scatter
Gráfico de dispersão XY com marcadores de tamanhos e/ou cores variados (às vezes também chamado de gráfico de bolhas).
Notas
Strings de formato
Uma string de formato consiste em uma parte para cor, marcador e linha:
fmt = '[marker][line][color]'
Cada um deles é opcional. Se não for fornecido, o valor do ciclo de estilo é usado. Exceção: Se
line
for fornecido, mas nãomarker
, os dados serão uma linha sem marcadores.Outras combinações como
[color][marker][line]
também são suportadas, mas observe que sua análise pode ser ambígua.marcadores
personagem
Descrição
'.'
marcador de ponto
','
marcador de pixel
'o'
marcador de círculo
'v'
marcador de triângulo_para baixo
'^'
marcador de triângulo_up
'<'
marcador triângulo_esquerdo
'>'
marcador triângulo_direito
'1'
marcador tri_down
'2'
marcador tri_up
'3'
marcador tri_left
'4'
marcador tri_right
'8'
marcador de octógono
's'
marcador quadrado
'p'
marcador de pentágono
'P'
marcador de mais (preenchido)
'*'
marcador de estrela
'h'
hexágono1 marcador
'H'
marcador hexagon2
'+'
mais marcador
'x'
x marcador
'X'
x (preenchido) marcador
'D'
marcador de diamante
'd'
marcador thin_diamond
'|'
marcador vline
'_'
marcador de linha
Estilos de linha
personagem
Descrição
'-'
estilo de linha sólida
'--'
estilo de linha tracejada
'-.'
estilo de linha traço-ponto
':'
estilo de linha pontilhada
Exemplos de strings de formato:
'b' # blue markers with default shape 'or' # red circles '-g' # green solid line '--' # dashed line with default color '^k:' # black triangle_up markers connected by a dotted line
cores
As abreviaturas de cores suportadas são os códigos de uma única letra
personagem
cor
'b'
azul
'g'
verde
'r'
vermelho
'c'
ciano
'm'
magenta
'y'
amarelo
'k'
Preto
'w'
branco
e as
'CN'
cores que indexam no ciclo de propriedade padrão.Se a cor for a única parte da string de formato, você também pode usar qualquer
matplotlib.colors
especificação, por exemplo, nomes completos ('green'
) ou strings hexadecimais ('#008000'
).
Exemplos usando matplotlib.pyplot.plot
#
Plotando valores mascarados e NaN
Subclasses de figuras personalizadas
Gerenciando várias figuras em pyplot
Controlando o estilo de texto e rótulos usando um dicionário
Folha de estilo de luz solarizada
Colocando marcações de data usando regras de recorrência
Rotação de rótulos de escala personalizados
Personalizando Matplotlib com folhas de estilo e rcParams