matplotlibグラフの境界線サイズを制限するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1203639

  •  05-07-2019
  •  | 
  •  

質問

かなり大きなグラフを作成していますが、境界線の空白はデータで使用するのに適したピクセルを多く占有しています。グラフが大きくなると境界線も大きくなるようです。

ここに私のグラフ作成コードの基本を示します:

        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)

境界線のサイズを小さくする方法はありますか?たぶん、境界を一定の2インチ程度に保つことができるような設定でしょうか?

役に立ちましたか?

解決

1つのサブプロットを使用しているように見えるため、 add_subplot をスキップして、 add_axes 。これにより、Axesのサイズを(図形を基準とした座標で)指定できるので、図形内で必要な大きさにすることができます。あなたの場合、これはあなたのコードが次のように見えることを意味します

    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)

必要に応じて、 figure()呼び出しで直接パラメーターを set_figheight / set_figwidth に入れることもできます。

scroll top