特定の実験用のプロット ツールのクラスを構築しています。現在、imshow() を使用する静的プロットと、 imshow() を使用する「ムービー」形式の 2 つのプロット メソッドがあります。
メソッドと将来のメソッドの両方が、私が作成する可能性のある特定のプロット メソッドと同じパラメーターを取得します。プロット クラスが使用される時点で、これらすべてのパラメーターが構成オブジェクトに含まれています。
すべてのプロット メソッドでコードを書き直したくありません。vmin、vmax、extent_dim、Xlocs、Xlabels、Ylocs、Ylabels の引数を設定するオブジェクト (私が思うに AxesImage) を初期化したいと思います。
次に、そのオブジェクトを他の特定のことを行うさまざまなメソッドに渡すだけです。これを行う方法がわかりません...
import matplotlib.pyplot as plt
data = data_dict[type] # could be real part of a complex number, phase, or the mag...
v_min, v_max = self.get_data_type_scale(data_dict, Type)
freq = data_dict['freq']
# essentially sets the aspect of the plot since the x and y resolutions could be different
extent_dim = self._get_extent(2)
# gets the labels for physical dimensions of the experiment
Xlocs,Xlabels,Ylocs,Ylabels = self._get_ticks(5,5,extent_dim)
# in the guts of a plot method, the basic idea is the call below.
plt.imshow(data[0,:,:],cmap='jet',vmin=v_min,...
vmax=v_max,origin='lower', extent = extent_dim)
plt.title('Type: %s Freq: %.3e Hz' %(Type,data_dict['freq'][0]) )
plt.xticks(Xlocs, Xlabels)
plt.yticks(Ylocs,Ylabels)