Question

Je fais de très gros graphiques, et les espaces à la frontière occupent beaucoup de pixels qui seraient mieux utilisés par les données. Il semble que la bordure s'agrandit à mesure que le graphique se développe.

Voici les entrailles 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)

Existe-t-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 distance constante de 2 pouces ou plus?

Était-ce utile?

La solution

Puisqu'il semble que vous n'utilisez qu'une seule sous-parcelle, vous pouvez ignorer add_sous-parcelle et aller directement à add_axes . Cela vous permettra de donner la taille des axes (en coordonnées relatives à la figure), afin que vous puissiez la rendre aussi grande que vous le souhaitez dans la figure. Dans votre cas, cela voudrait dire que 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 le souhaitez, vous pouvez même définir les paramètres dans set_figheight / set_figwidth directement dans l'appel figure () .

Autres conseils

Essayez le subplots_adjust API:

  

subplots_adjust (* arguments, ** kwargs)

     

fig.subplots_adjust (left = None, bottom = None, right = None, wspace = None, hspace = None)

     

Mettez à jour les sous-parcelles avec kwargs (la valeur par défaut est rc si aucune) et mettez à jour les emplacements des sous-parcelles

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top