10

Matplotlibでは、多くの例が の形式で提供され、 のようax = subplot(111)に関数が on に適用されます。(ここにありますaxax.xaxis.set_major_formatter(FuncFormatter(myfunc))

または、サブプロットが必要ない場合は、plt.figure()必要なものをplt.plot()または同様の関数でプロットしてプロットすることができます。

さて、私はまさに 2 番目のケースですがset_major_formatter、X 軸で関数を呼び出したいと考えています。もちろん、それを呼び出しても機能しpltません。

>>> plt.xaxis.set_major_formatter(FuncFormatter(myfunc)) 
Traceback (most recent call last):
File "<stdin>", line 1, in <module> 
AttributeError: 'module' object has no attribute 'xaxis'

ここで何をすべきですか?

4

2 に答える 2

10

必要な図が選択されている場合はgca()、現在の軸インスタンスを取得するために使用します。

ax = gca()
ax.xaxis.set_major_formatter(FuncFormatter(myfunc)) 
于 2013-01-21T15:46:28.193 に答える
3

もう 1 つのオプションは、 によって返される Figure オブジェクトを使用することfigure()です。

fig = plt.figure()

# Create axes, either:
#  - Automatically with plotting code: plt.line(), plt.plot(), plt.bar(), etc
#  - Manually add axes: ax = fig.add_subplot(), ax = fig.add_axes()

fig.axes[0].get_xaxis().set_major_formatter(FuncFormatter(myfunc)) 

このオプションは、更新するプロットを指定できるため、複数のプロットを処理する場合に非常に便利です。

于 2015-03-30T09:48:36.207 に答える