I grafici R impostano automaticamente i limiti x e y per mettere un po 'di spazio tra i dati e gli assi. Mi stavo chiedendo se esiste un modo per matplotlib per fare lo stesso automaticamente. In caso contrario, c'è una buona formula o 'regola pratica' per come R stabilisce i suoi limiti di asse?Buffer dell'asse dati in stile R in matplotlib
risposta
Guardando ?par
per il parametro xaxs
:
Lo stile dell'asse calcolo dell'intervallo da utilizzare per l'asse x. I valori possibili sono "r", "i", "e", "s", "d". Gli stili sono generalmente controllati dalla gamma di dati o xlim, se dati.
Lo stile "r" (normale) estende prima l'intervallo di dati del 4% a ciascuna estremità e quindi trova un asse con belle etichette che rientrano nell'intervallo esteso.
Quindi, se proviamo questo fuori:
par(xaxs="r") #The default
plot(1:10, 1:10)
Noi in realtà in grado di dimostrare che si tratta di +/- 4% del campo su ogni lato:
abline(v=1-(diff(range(1:10)))*0.04, col="red")
abline(v=10+(diff(range(1:10)))*0.04, col="red")
In matplotlib è possibile raggiungere questo impostando il margins
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.margins(0.04)
data = range(1, 11)
ax.plot(data, 'wo')
plt.savefig('margins.png')
Tuttavia, non sembra che ci sia un parametro rc per ottenere questo automaticamente.
Aggiorna 4/2013
La possibilità di aggiungere un param rc per i margini è ora in matplotlib master (Grazie @tcaswell). Quindi dovrebbe funzionare con la prossima versione di matplotlib (la versione corrente è 1.2.1).
- 1. Manipolazione dei dati in R in stile LINQ
- 2. i grafici in stile "circos" con matplotlib?
- 3. matplotlib per utente R?
- 4. Annotazione intervalli di dati in matplotlib
- 5. Puoi plasmare dati live in matplotlib?
- 6. Dizionario struttura dati in R
- 7. telaio Riorganizzare dati in R
- 8. dizionario dati confezionamento in R
- 9. grafico Trama dai dati di istogramma in matplotlib
- 10. Come rappresenteresti i seguenti dati 3D in Matplotlib o Mayavi?
- 11. Cambia stile indentazione R in vim con plug-in Vim-R
- 12. mostrando millisecondi in matplotlib
- 13. Modifica lo stile di linea matplotlib mid-graph
- 14. Trama stelo in matplotlib?
- 15. Fitting modello polinomiale di dati in R
- 16. Unisci molti frame di dati in R
- 17. errore 'externalptr' in R utilizzando dati XML
- 18. R divide i dati in gruppi
- 19. Analisi componente principale in colore dati R
- 20. frame dati interi aggiornati in R
- 21. Load XML "righe" in tabella dati R
- 22. consolidamento dei frame di dati in R
- 23. Manipolazione dei dati di rete in R
- 24. Barplot non valuta i dati in R
- 25. Tracciare enormi file di dati in R?
- 26. Frecce in matplotlib utilizzando mplot3d
- 27. Perdiamo dati in un buffer dopo la riallocazione?
- 28. Modalità interattiva in matplotlib
- 29. Boxplot con dati di lunghezza variabile in matplotlib
- 30. Matplotlib: traccia linee con larghezza data in coordinate dati
Questa è la risposta giusta. Non sono sicuro del motivo per cui è stata scelta l'altra risposta dal momento che la domanda si poneva sul matplotlib di Python e non sulla trama di R() (R era appena usato come confronto). –