Sto scrivendo una sceneggiatura che farà alcuni complimenti. Voglio che rappresenti diverse serie di dati, ognuna con il suo stile di linea unico (non il colore). Posso facilmente eseguire iterazioni attraverso una lista, ma esiste già una lista già disponibile in python?Esiste un elenco di stili di linea in matplotlib?
risposta
Secondo the doc li si potrebbe trovare in questo modo:
from matplotlib import lines
lines.lineStyles.keys()
>>> ['', ' ', 'None', '--', '-.', '-', ':']
si può fare lo stesso con markers
La sintassi per i marcatori sembra essere leggermente diverso: 'dai marcatori di importazione matplotlib; markers.MarkerStyle.markers.keys() ' –
Nella versione 2.1.2,' lines.lineMarkers.keys() 'produce lo stesso risultato di' markers.MarkerStyle.markers.keys() '. –
La documentazione per plot
http://matplotlib.org/1.5.3/api/pyplot_api.html#matplotlib.pyplot.plot ha una lista di stili di linea + marcatori:
character description
'-' solid line style
'--' dashed line style
'-.' dash-dot line style
':' dotted line style
'.' point marker
',' pixel marker
'o' circle marker
'v' triangle_down marker
'^' triangle_up marker
'<' triangle_left marker
'>' triangle_right marker
'1' tri_down marker
'2' tri_up marker
'3' tri_left marker
'4' tri_right marker
's' square marker
'p' pentagon marker
'*' star marker
'h' hexagon1 marker
'H' hexagon2 marker
'+' plus marker
'x' x marker
'D' diamond marker
'd' thin_diamond marker
'|' vline marker
'_' hline marker
Dalla mia esperienza è bello avere i colori e i marcatori in una lista in modo da poterli scorrere durante la stampa.
Ecco come ottengo l'elenco di tali cose. Ci sono voluti degli scavi.
import matplotlib
colors_array = matplotlib.colors.cnames.keys()
markers_array = matplotlib.markers.MarkerStyle.markers.keys()
Nel python3 il metodo restituisce un oggetto .keys()
dict_keys
e non un list
. È necessario passare i risultati a list()
per poter indicizzare l'array come si potrebbe in python2. per esempio. this SO question
Quindi, per creare matrici iterabili per linee, colori e indicatori è possibile utilizzare qualcosa di simile.
import matplotlib
colors_array = list(matplotlib.colors.cnames.keys())
lines_array = list(matplotlib.lines.lineStyles.keys())
markers_array = list(matplotlib.markers.MarkerStyle.markers.keys())
- 1. Esistono solo 4 stili di linea Matplotlib?
- 2. Stili personalizzati in linea in Microsoft Word
- 3. classe php per stili css in linea?
- 4. Cambio spaziatura dei trattini in linea tratteggiata in matplotlib
- 5. Modifica lo stile di linea matplotlib mid-graph
- 6. Creazione di etichette in cui appare in linea matplotlib figura
- 7. Python ha un modulo per convertire gli stili CSS in stili in linea per le e-mail?
- 8. Disegno linea media in istogramma (matplotlib)
- 9. Esiste un elenco di flag per Node.js?
- 10. Come etichettare una linea in matplotlib (python)?
- 11. Come tracciare una linea di colore sfumato in matplotlib?
- 12. Esiste un elenco di web crawler conosciuti?
- 13. Etichetta dell'asse della linea di taglio rotta in matplotlib
- 14. Stili della linea di unione nella legenda MATLAB
- 15. Mostra in textview html con stili in linea
- 16. Esiste un flusso di dati matplotlib per ReportLab?
- 17. Esiste un elenco di variabili di ambiente di Visual Studio?
- 18. Rimuovi tutti gli stili in linea usando BeautifulSoup
- 19. C'è un modo per usare gli stili in linea per definire uno stile di collegamento visitato?
- 20. Qual è lo scopo di impostare una larghezza uguale a un asterisco negli stili in linea?
- 21. Esiste un metodo/elenco di funzioni in Resharper?
- 22. Esiste un elenco di comandi supportati in Xcode?
- 23. Plone 5: perché TinyMCE disabilita gli stili in linea personalizzati?
- 24. Implementazione di stili di testo al volo in un JEditorPane
- 25. grafico della linea ggplot con diversi stili di linea e marcatori
- 26. matplotlib 1.4.2 con Seaborn: marcatori di linea non funziona
- 27. Python Seaborn Matplotlib stile della linea di impostazione come legenda
- 28. matplotlib - cambia il colore dell'indicatore lungo la linea di trama
- 29. ERRORE: linea magica `% matplotlib` non trovata
- 30. Esiste un equivalente di vector :: reserve() per un elenco std ::?
io so che non è davvero quello che si cerca, ma io ho una lista di loro nella mia risposta [qui] (http://stackoverflow.com/a/8409110/674039) – wim