Eu usei o Matplotlib para traçar linhas em uma figura. Agora eu gostaria de definir o estilo, especificamente o marcador, para pontos individuais na linha. Como eu faço isso?
Para esclarecer minha pergunta, quero poder definir o estilo de marcadores individuais em uma linha, nem todos os marcadores na linha.
python
matplotlib
dbmikus
fonte
fonte
Respostas:
Especifique a palavra-chave args
linestyle
e / oumarker
na sua chamada paraplot
.Por exemplo, usando uma linha tracejada e marcadores de círculo azul:
Uma chamada de atalho para a mesma coisa:
Aqui está uma lista dos possíveis estilos de linha e marcador:
edit: com um exemplo de marcação de um subconjunto arbitrário de pontos, conforme solicitado nos comentários:
Este último exemplo usando o
markevery
kwarg é possível desde 1.4+, devido à mesclagem desse ramo de recurso . Se você estiver preso em uma versão mais antiga do matplotlib, ainda poderá obter o resultado sobrepondo um gráfico de dispersão no gráfico de linhas. Veja o histórico de edições para mais detalhes.fonte
matplotlib.markers.MarkerStyle.markers
, que retorna um dicionário semelhante ao que foi publicado acima.Há uma imagem mostrando o nome e a descrição de todos os marcadores, espero que ajude você.
fonte
Para referência futura - o
Line2D
artista retornado porplot()
também possui umset_markevery()
método que permite definir marcadores em determinados pontos - consulte https://matplotlib.org/api/_as_gen/matplotlib.lines.Line2D.html#matplotlib.lines.Line2D. set_markeveryfonte
Um truque simples para alterar a forma e o tamanho de um marcador de ponto em particular ... é plotá-lo primeiro com todos os outros dados e, em seguida, plotar mais um gráfico apenas com esse ponto (ou conjunto de pontos, se você quiser alterar o estilo de vários pontos) . Suponha que desejemos alterar a forma do marcador do segundo ponto:
O resultado é: Gráfico com vários marcadores
fonte