def update_data(self):
var = getattr(self._sim, self._variable)[:,0:2]
mask = None
if self._sub_domain:
pos = self._sim.positions
mask_x = np.logical_or(pos[:, 0] <= self._sub_domain[0][0],
pos[:, 0] >= self._sub_domain[0][1])
mask_y = np.logical_or(pos[:, 1] <= self._sub_domain[1][0],
pos[:, 1] >= self._sub_domain[1][1])
mask = np.logical_or(mask_x, mask_y)
if self._particle_type is not None:
if mask is None:
mask = (self._sim.types != self._particle_type)
else:
mask = np.logical_or(mask, (self._sim.types != self._particle_type))
if mask is not None:
tiledmask = np.transpose(np.tile(mask, (2, 1)))
var = ma.masked_array(var, tiledmask)
var = var.compressed()
var = var.reshape([len(var)//2, 2])
hist, self._x_edges, self._y_edges = np.histogram2d(var[:, 0], var[:, 1],
bins=self._nr_of_bins, range=self._hist_range)
if self._window is not None:
self._dataHistory.append(hist)
if len(self._dataHistory) > self._window:
del self._dataHistory[0]
self._histogram_array = sum(self._dataHistory)
else:
self._histogram_array += hist
mpl_display.py 文件源码
python
阅读 30
收藏 0
点赞 0
评论 0
评论列表
文章目录