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
Line2Dpropriedades 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.DataFramearray 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
plotvá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.- **
Line2Dpropriedades 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
Line2Dpropriedades 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
antialiasedou aabool
bool
Patch ou (Caminho, Transformação) ou Nenhum
colorou ccor
CapStyleou {'bunda', 'projetando', 'redondo'}JoinStyleou {'esquadria', 'redondo', 'chanfrado'}sequência de flutuações (on/off ink em pontos) ou (None, None)
(2, N) array ou dois arrays 1D
drawstyleou ds{'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'}, default: 'default'
{'completo', 'esquerda', 'direita', 'inferior', 'superior', 'nenhum'}
cor ou nenhum
str
bool
objeto
linestyleou ls{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
linewidthou lwflutuador
string de estilo de marcador,
PathouMarkerStylemarkeredgecolorou meccor
markeredgewidthou miarflutuador
markerfacecolorou mfccor
markerfacecoloraltou mfcaltcor
markersizeou 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
CapStyleou {'bunda', 'projetando', 'redondo'}JoinStyleou {'esquadria', 'redondo', 'chanfrado'}desconhecido
str
bool
matriz 1D
matriz 1D
flutuador
Veja também
scatterGrá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
linefor 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.colorsespecificação, por exemplo, nomes completos ('green') ou strings hexadecimais ('#008000').
Exemplos usando matplotlib.pyplot.plot#
Controlando o estilo de texto e rótulos usando um dicionário
Colocando marcações de data usando regras de recorrência
Personalizando Matplotlib com folhas de estilo e rcParams