spatialdata-plot
spatialdata-plot copied to clipboard
Colorbar not shown for image
I am plotting an image and no colorbar is display, even if colorbar should default to True in pl.show().
I am currently using the workaround shown in the code to fix this.
##
from spatialdata.datasets import blobs
import spatialdata_plot
import matplotlib.colors
import matplotlib.pyplot as plt
sdata = blobs()
sdata['single_channel'] = sdata['blobs_image'].sel(c=slice(0, 0))
sdata.pl.render_images('single_channel').pl.show()
# workaround
ax = plt.gca()
data = sdata['single_channel'].values
norm = matplotlib.colors.Normalize(vmin=data.min(), vmax=data.max())
mappable = plt.cm.ScalarMappable(cmap='viridis', norm=norm)
plt.colorbar(mappable, ax=ax)
plt.show()
Why would we plot a colorbar by default for an image? <- leaving this because it's more of a design choice.
I think the actual issue is that there is none, even if colorbar is manually set to True, right?
I think the actual issue is that there is none, even if colorbar is manually set to True, right?
Exactly!
Why would we plot a colorbar by default for an image? <- leaving this because it's more of a design choice.
Yes, here I would let the user choose.
will have a look, btw just FYI, you can just specify channel=0 if you want to plot a single channel.