2009-07-29 6 views
7

Je crée des graphiques assez volumineux, et les espaces dans la bordure prennent beaucoup de pixels qui seraient mieux utilisés par les données. Il semble que la frontière se développe à mesure que le graphique se développe.Comment limiter la taille de la bordure sur un graphe matplotlib?

Voici le courage de mon code: graphique

 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) 

est-il un moyen de réduire la taille de la frontière? Peut-être un réglage quelque part qui me permettrait de garder la frontière à une constante de 2 pouces ou plus?

Répondre

6

comme il vous ressemble Utilisez simplement une seule sous-carte, vous pouvez sauter add_subplot et aller directement au add_axes. Cela vous permettra de donner la taille des axes (en coordonnées relatives à la figure), de sorte que vous pouvez le faire aussi grand que vous voulez dans la figure. Dans votre cas, cela signifierait votre code ressemblerait à quelque chose comme

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 vous voulez, vous pouvez même mettre les paramètres à set_figheight/set_figwidth directement dans l'appel figure().

5

Essayez l'API subplots_adjust:

subplots_adjust (* args, ** kwargs)

fig.subplots_adjust (gauche = Aucun, en bas = Aucun, droite = Aucun, wspace = Aucun, hspace = Aucun)

Mettez à jour les SubplotParams avec kwargs (par défaut à rc où aucune) et mettre à jour les emplacements de subplot

+2

Pouvez-vous fournir un exemple de la façon dont vous l'utiliseriez dans ce cas? –

Questions connexes