Il link che hai fornito è una buona risorsa, ma mostra il tutto viene fatto in matplotlib.pyplot
e usa .subplots()
per arrivare agli assi. Mentre l'ho già fatto, continuo a cercare modi per utilizzare il più possibile la funzione .plot()
integrata nei panda. Per me può semplificare il codice e rendere più facile sfruttare la bontà di DataFrame.
Sembra che ci siano un certo numero di cose che non sono facili da fare completamente all'interno dei parametri di df.plot()
di per sé, però. Fortunatamente restituisce uno matplotlib.AxesSubplot
, che apre una gamma molto più ampia di possibilità.
ho copiato i dati sopra in un dataframe:
df = pd.read_clipboard(quotechar="'")
Sembra sorta-di simile:
A B C
0 1 2 'name 1'
1 2 3 'name 2'
2 3 5 'name 3'
Ma, naturalmente, molto meglio in html non table-paralizzato. (Forse SO risolverà questo un giorno).
Poi tutto quello che dovevo fare era:
ax = df.A.plot(xticks=df.index, rot=90)
ax.set_xticklabels(df.C)
Se si utilizza IPython/Jupyter e %matplotlib inline
quindi sia di quelli bisogno di essere nella stessa cella. All'inizio l'avevo dimenticato e ho passato un po 'di tempo a cercare di capire cosa stava andando storto.

Si può fare tutto usando la variabile ax
:
ax = df.A.plot()
ax.set_xticks(df.index)
ax.set_xticklabels(df.C, rotation=90)
ma, come ho già detto, non ho trovato un modo per il xticklabels
all'interno dei parametri di funzione df.plot()
, che avrebbe rendere possibile fare tutto questo in una sola riga.
Il passaggio aggiuntivo per ruotare le etichette xtick potrebbe essere estraneo in questo esempio, ma è stato utile in quello su cui stavo lavorando quando cercavo questa risposta.
E, naturalmente, è possibile tracciare entrambe le colonne A e B insieme ancora più semplice:
ax = df.plot()
ax.set_xticks(df.index)
ax.set_xticklabels(df.C, rotation=90)

Anche se sembra si può avere già ottenuto questa risposta quando ha chiesto quasi la stessa domanda [qui] (http://stackoverflow.com/questions/23472877/plot-with-pandas-xticks?rq=1). – Alnilam