Sto usando matplotlib per generare un grafico a barre (verticale). Il problema è che le mie etichette sono piuttosto lunghe. C'è un modo per visualizzarli in verticale, sia nella barra o sopra o sotto di esso?Barchart con etichette verticali in python/matplotlib
risposta
Vuoi dire qualcosa di simile:
>>> from matplotlib import *
>>> plot(xrange(10))
>>> yticks(xrange(10), rotation='vertical')
?
In generale, per visualizzare qualsiasi testo in matplotlib con orientamento verticale, è possibile aggiungere la parola chiave rotation='vertical'
.
Per ulteriori opzioni, si può guardare aiuto (matplotlib.pyplot.text)
La funzione yticks trame le zecche sull'asse y; Non sono sicuro che tu intendessi originariamente questa o la funzione ylabel, ma la procedura è sempre la stessa, devi aggiungere rotazione = 'verticale'
Forse potresti anche trovare utili le opzioni 'verticalalignment' e 'horizontalalignment' , che ti permette di definire come allineare il testo rispetto ai tick o agli altri elementi.
Suggerisco di guardare the matplotlib gallery. Almeno due degli esempi sembrano essere rilevanti:
- text_rotation.py per capire come funziona il layout del testo
- barchart_demo2.py, un esempio di un grafico a barre con il layout un po 'più complicata di quanto l'esempio più semplice.
In Jupyter Notebook si potrebbe usare qualcosa di simile
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
plt.xticks(rotation='vertical')
plt.plot(np.random.randn(100).cumsum())
oppure è possibile utilizzare:
plt.xticks(rotation=90)
- 1. Etichette verticali con API di Google Maps?
- 2. Etichette xick verticali in alto, non in basso
- 3. Force BarChart Le etichette dell'asse Y devono essere numeri interi?
- 4. Come interrompere il barchart per nascondere le etichette per il valore dei dati 0 in Mathematica?
- 5. Creazione di un grafico a barre in ggplot con etichette verticali nell'asse x
- 6. Schede verticali con JQuery?
- 7. Scrollbar verticali con window.open
- 8. MPAndroidChart BarChart Group DataSets
- 9. Uso di spazi verticali verticali
- 10. Barchart (o plot) 3D in Python
- 11. Kendo UI BarChart Data Grouping
- 12. Intestazioni verticali in JTable?
- 13. Tracciare barchart sulla Uniti mappa in R
- 14. JavaFx 2.x: BarChart con entrambi gli assi come numeri
- 15. BarChart scorrevole con possibilità di toccare ciascuna barra usando MpAndroidChart?
- 16. Schede verticali Bootstrap con interfaccia utente angolare
- 17. Creazione di timeline verticali con Javascript/jQquery
- 18. Linee verticali ZedGraph con problema LineObj
- 19. Come nascondere le etichette in ios-charts?
- 20. Spazi verticali nella legenda
- 21. MPAndroidChart BarChart disabilita le legende di destra
- 22. Contenuti allineati verticali slickslider
- 23. multipli colori di sfondo verticali in CSS3
- 24. Gesti verticali e orizzontali in Android
- 25. flipping utilizzando turn.js verticali
- 26. Creare array NumPy verticali in Python
- 27. Etichette di testo con contorno in R
- 28. Creazione di etichette in cui appare in linea matplotlib figura
- 29. Classificazione documento con più etichette
- 30. Ombreggiamento tra le linee verticali in MATLAB
Si noti che non sto usando plot(); ma bar(). Ma la rotazione = "verticale" sembra essere la chiave. Tuttavia, questo ancora non disegna i segni di spunta nelle barre. – phihag
Intendi le zecche nell'asse xy? Dai un'occhiata alla funzione di griglia. Per esempio grid (ls = '', marker = 'v'). griglia() controlla il tracciamento della griglia sull'asse xy; con l'opzione marker si definisce lo stile per i marker tick e con ls = '' si ottiene una griglia invisibile. – dalloliogm
@dalloliogm suona bene – phihag