我正在为一个特定实验构建一类绘图工具。我目前有两种绘图方法,一种使用imshow()进行静态绘图,另一种使用“电影”格式也使用imshow()。
这两种方法以及任何未来的方法都会得到相同的参数,这些参数对于我可能编写的任何特定绘图方法都是相同的。在绘图类被使用时,我已经将所有这些参数存储在一个配置对象中。
我不想在每个绘图方法中重写代码。我想初始化一个对象(我认为是AxesImage),该对象将设置这些参数:vmin、vmax、extent_dim、Xlocs、Xlabels、Ylocs、Ylabels。
然后我只需将该对象传递给执行其他特定任务的各种方法即可。我不明白如何做到这一点...
这两种方法以及任何未来的方法都会得到相同的参数,这些参数对于我可能编写的任何特定绘图方法都是相同的。在绘图类被使用时,我已经将所有这些参数存储在一个配置对象中。
我不想在每个绘图方法中重写代码。我想初始化一个对象(我认为是AxesImage),该对象将设置这些参数:vmin、vmax、extent_dim、Xlocs、Xlabels、Ylocs、Ylabels。
然后我只需将该对象传递给执行其他特定任务的各种方法即可。我不明白如何做到这一点...
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)
figure
对象,那就直接做吧。只需要执行fig = figure()
就可以了。 - Phillip Cloudmatplotlib
中有Axes
对象、Figure
对象和大量其他对象。im = imshow(randn(10, 10))
返回一个AxesImage
对象。那么...你到底指的是哪一个对象呢? - Phillip Cloud