2009-08-03 21 views

risposta

58

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.

+0

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

+0

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

+0

@dalloliogm suona bene – phihag

5

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.
1

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) 
Problemi correlati