2012-07-27 10 views
6

Vorrei rendere una griglia stile ggplot2 pieno, alla this http://had.co.nz/ggplot2/graphics/b1d84765165d97b51c63c292bc638f0b.pngCome posso riempire una griglia matplotlib?

non sono stato in grado di trovare tutte le risorse online che si occupano con lo styling la griglia in modo tale. Devo ricorrere a qualcosa come plottare le mie patch rettangolari?

Modifica: dopo aver provato la soluzione di Chris, ho scritto uno script per aiutare a rendere i grafici di matplotlib come ggplot2 se qualcuno è interessato.

http://messymind.net/making-matplotlib-look-like-ggplot/

+2

Con riempimento vuoi dire il colore di sfondo? – steffen

+0

+1 per contribuire con la tua soluzione. – Chris

+0

hai familiarità con https://github.com/yhat/ggplot? – tacaswell

risposta

6

Il codice seguente utilizza matplotlib.pyplot.grid a girare su una griglia e impostare le proprietà della griglia (colore della linea, lo stile e la larghezza) e quindi utilizza plt.gca().patch.set_facecolor('0.8') per cambiare il colore degli assi (non sono sicuro se c'è , ma ci deve essere la funzione di convenienza per farlo). L'argomento per patch.set_facecolor è qualsiasi matplotlib colour.

import numpy 
import matplotlib.pyplot as plt 

x = numpy.random.rand(10) 
x = numpy.random.rand(10) 

plt.plot(x, y, 'o') 

plt.grid(True, color='w', linestyle='-', linewidth=2) 
plt.gca().patch.set_facecolor('0.8') 

plt.show() 

Il risultato è

Figure generated by the code above

+1

Brillante. Avevo poche aspettative che avessi una risposta, molto meno semplice. Mi dilungherò su questo e vedrò se riesco a farlo entrare nella galleria. – Bicubic

Problemi correlati