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:

Reply via email to