2009-07-29 15 views
7

Estoy haciendo algunos gráficos bastante grandes, y el espacio en blanco en el borde está ocupando una gran cantidad de píxeles que serían mejor utilizados por los datos. Parece que el borde crece a medida que el gráfico crece.¿Cómo puedo limitar el tamaño del borde en un gráfico matplotlib?

Aquí están las entrañas de mi código de gráficas:

 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) 

¿Hay una manera de reducir el tamaño de la frontera? Tal vez un ajuste en algún lugar que me permita mantener el borde a una constante de 2 pulgadas más o menos?

Respuesta

6

Dado que parece que Solo está usando una sola subparcela, es posible que desee omitir add_subplot e ir directamente al add_axes. Esto le permitirá dar el tamaño de los ejes (en coordenadas relativas a la figura), por lo que puede hacerlo tan grande como desee dentro de la figura. En su caso, esto significaría su código sería algo como

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) 

Si quisiera, podría incluso poner los parámetros de set_figheight/set_figwidth directamente en la llamada figure().

5

Prueba el subplots_adjust API:

subplots_adjust (* args, ** kwargs)

fig.subplots_adjust (izquierda = Ninguno, abajo = Ninguno, derecha = Ninguno, wspace = Ninguno, hspace = Ninguno)

actualización de los SubplotParams con kwargs (morosos a RC, donde ninguno) y actualizar las ubicaciones subparcelas

+2

¿Puede darnos un ejemplo de cómo lo usaría en este caso? –

Cuestiones relacionadas