2009-07-29 8 views
7

Ich mache einige ziemlich große Graphen, und das Leerzeichen in der Grenze nimmt viele Pixel auf, die von den Daten besser genutzt werden. Es scheint, dass der Rand wächst, während der Graph wächst.Wie beschränke ich die Rahmengröße in einem Matplotlib-Diagramm?

Hier sind die Eingeweide meines Grafikcode:

 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) 

Gibt es eine Möglichkeit, die Größe der Grenze zu verringern? Vielleicht eine Einstellung irgendwo, die es mir erlauben würde, die Grenze auf ungefähr 2 Zoll oder so zu halten?

Antwort

6

rc Da es aussieht wie du Verwenden Sie nur ein einzelnes Teilplot, möchten Sie vielleicht add_subplot überspringen und direkt zu add_axes gehen. Auf diese Weise können Sie die Größe der Achsen (in relativen Koordinaten) angeben, sodass Sie sie innerhalb der Abbildung beliebig groß machen können. In Ihrem Fall würde dies bedeuten, Ihr Code so etwas wie

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) 

aussehen würde, wenn Sie möchten, können Sie die Parameter set_figheight/set_figwidth direkt im figure() Anruf setzen sogar.

5

Versuchen Sie, die subplots_adjust API:

subplots_adjust (* args, ** kwargs)

fig.subplots_adjust (links = None, unten = None, rechts = None, wspace = None, hspace = None)

Aktualisieren Sie die SubplotParams mit kwargs (säumigen wo None) und aktualisieren Sie die subplot Standorte

+2

Können Sie ein Beispiel angeben, wie Sie es in diesem Fall verwenden würden? –

Verwandte Themen