135

ヒストグラムをプロットするために Matplotlib を使用しています。私の前の質問からのヒントを使用して: Matplotlib - label each bin、私は多かれ少なかれねじれを解決しました。

最後の問題が 1 つあります。以前は、x 軸のラベル (「時間 (ミリ秒)」) が x 軸の目盛り (0.00、0.04、0.08、0.12 など) の下に表示されていました。

パディングなし - 図の下に軸ラベル

Joe Kingston からのアドバイス (上記の質問を参照) を使用して、以下を使用してみました。

ax.tick_params(axis='x', pad=30)

ただし、これは x 軸の目盛り (0.00、0.04、0.08、0.12 など) と x 軸ラベル (「時間 (ミリ秒)」) の両方を移動します。

30 パディング - 軸ラベルと目盛りの両方が移動しました

x 軸ラベルのみを 3 行の図の下に移動する方法はありますか?

注: 下の PNG を直接開く必要がある場合があります。画像を右クリックしてから、画像を表示 (FF)、または新しいタブ (Chrome) で画像を開きます。SOによって行われた画像のサイズ変更により、それらはほとんど読めなくなりました

4

2 に答える 2

238

labelpad パラメータを使用します。

pl.xlabel("...", labelpad=20)

または次の後に設定します。

ax.xaxis.labelpad = 20
于 2011-06-20T04:13:36.893 に答える
13

変数 ax.xaxis._autolabelpos = True の場合、matplotlib は、(いくつかの抜粋) に従って、axis.py の関数 _update_label_position でラベル位置を設定します。

    bboxes, bboxes2 = self._get_tick_bboxes(ticks_to_draw, renderer)
    bbox = mtransforms.Bbox.union(bboxes)
    bottom = bbox.y0
    x, y = self.label.get_position()
    self.label.set_position((x, bottom - self.labelpad * self.figure.dpi / 72.0))

以下を使用して、目盛りとは別にラベルの位置を設定できます。

    ax.xaxis.set_label_coords(x0, y0)

_autolabelpos を False に設定するか、前述のように labelpad パラメータを変更します。

于 2014-07-29T14:57:09.527 に答える