This is an automated email from the ASF dual-hosted git repository. rkk pushed a commit to branch tmp-stv in repository https://gitbox.apache.org/repos/asf/sdap-nexus.git
commit e5273a2d1dbe2b3e6123fe0ab4e15db7c066ef1c Author: rileykk <[email protected]> AuthorDate: Mon Dec 11 11:32:13 2023 -0800 Colorbars --- analysis/webservice/algorithms/Tomogram3D.py | 32 +++++++++++++++++++++------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/analysis/webservice/algorithms/Tomogram3D.py b/analysis/webservice/algorithms/Tomogram3D.py index 900d26d..f590418 100644 --- a/analysis/webservice/algorithms/Tomogram3D.py +++ b/analysis/webservice/algorithms/Tomogram3D.py @@ -265,30 +265,38 @@ class Tomogram3DResults(NexusResults): def __common(self): xyz = self.results()[['lon', 'lat', 'elevation']].values - plt.figure(figsize=(10,10)) - return xyz, plt.axes(projection='3d') + fig = plt.figure(figsize=(10,7)) + return xyz, (fig, fig.add_subplot(111, projection='3d')) def toImage(self): _, _, _, view_azim, view_elev = self.render_params - xyz, ax = self.__common() + xyz, (fig, ax) = self.__common() ax.view_init(elev=view_elev, azim=view_azim) logger.info('Plotting data') - ax.scatter( + s = ax.scatter( xyz[:, 0], xyz[:, 1], xyz[:, 2], marker='D', facecolors=self.results()[['red', 'green', 'blue']].values.astype(np.uint8) / 255, + c=self.results()[['tomo_value']].values, zdir='z', - depthshade=True + depthshade=True, + cmap=mpl.colormaps['viridis'], + vmin=-30, vmax=-10 ) ax.set_ylabel('Latitude') ax.set_xlabel('Longitude') ax.set_zlabel('Elevation w.r.t. dataset reference (m)') + cbar = fig.colorbar(s, ax=ax) + cbar.set_label('Tomogram (dB)') + + plt.tight_layout() + buffer = BytesIO() logger.info('Writing plot to buffer') @@ -300,24 +308,32 @@ class Tomogram3DResults(NexusResults): def toGif(self): orbit_elev, orbit_step, frame_duration, _, _ = self.render_params - xyz, ax = self.__common() + xyz, (fig, ax) = self.__common() ax.view_init(elev=orbit_elev, azim=0) logger.info('Plotting data') - ax.scatter( + s = ax.scatter( xyz[:, 0], xyz[:, 1], xyz[:, 2], marker='D', facecolors=self.results()[['red', 'green', 'blue']].values.astype(np.uint8) / 255, + c=self.results()[['tomo_value']].values, zdir='z', - depthshade=True + depthshade=True, + cmap=mpl.colormaps['viridis'], + vmin=-30, vmax=-10 ) ax.set_ylabel('Latitude') ax.set_xlabel('Longitude') ax.set_zlabel('Elevation w.r.t. dataset reference (m)') + cbar = fig.colorbar(s, ax=ax) + cbar.set_label('Tomogram (dB)') + + plt.tight_layout() + buffer = BytesIO() with TemporaryDirectory() as td:
