2009-07-29 19 views
7

Sto creando dei grafici piuttosto grandi e gli spazi bianchi nel bordo occupano molti pixel che sarebbero meglio usati dai dati. Sembra che il confine cresca man mano che il grafico cresce.Come si limita la dimensione del bordo su un grafico matplotlib?

Ecco le budella di mio codice grafica:

 import matplotlib 
     from pylab import figure 

     fig = figure() 
     ax = fig.add_subplot(111) 
     ax.plot_date((dates, dates), (highs, lows), '-', color='black') 
     ax.plot_date(dates, closes, '-', marker='_', color='black') 

     ax.set_title('Title') 
     ax.grid(True) 
     fig.set_figheight(96) 
     fig.set_figwidth(24) 

Esiste un modo per ridurre le dimensioni del bordo? Forse un'impostazione da qualche parte che mi permetterebbe di mantenere il confine a una costante di 2 pollici o così?

risposta

6

Poiché sembra che si Stai solo usando una singola sottotrama, potresti voler saltare add_subplot e andare direttamente allo add_axes. Questo ti consentirà di dare la dimensione degli assi (in coordinate relative alla figura), in modo che tu possa ingrandirla quanto vuoi all'interno della figura. Nel tuo caso, ciò significherebbe il codice sarebbe simile

import matplotlib.pyplot as plt 

    fig = plt.figure() 

    # add_axes takes [left, bottom, width, height] 
    border_width = 0.05 
    ax_size = [0+border_width, 0+border_width, 
       1-2*border_width, 1-2*border-width] 
    ax = fig.add_axes(ax_size) 
    ax.plot_date((dates, dates), (highs, lows), '-', color='black') 
    ax.plot_date(dates, closes, '-', marker='_', color='black') 

    ax.set_title('Title') 
    ax.grid(True) 
    fig.set_figheight(96) 
    fig.set_figwidth(24) 

Se si volesse, si potrebbe anche mettere i parametri per set_figheight/set_figwidth direttamente nella chiamata figure().

5

provare il subplots_adjust API:

subplots_adjust (* args, ** kwargs)

fig.subplots_adjust (sinistra = Nessuno, in basso = Nessuno, destra = Nessuno, wspace = Nessuno, hspace = Nessuno)

aggiornare i SubplotParams con kwargs (inadempiente a RC, dove nessuno) e aggiornare le posizioni sottotrama

+2

Potete fornire un esempio di come lo usereste in questo caso? –

Problemi correlati