talgalili / heatmaply

Interactive Heat Maps for R Using plotly
378 stars 73 forks source link

Unexpected color sorting in case of continuous row_side_colors values #286

Open jgoldmann opened 1 year ago

jgoldmann commented 1 year ago

Hi,

Thanks for implementing and such a great package!

I found something unexpected when attempting to visualize a continuous variable as row_side_colors:

library(heatmaply)
mat <- matrix(rnorm(1000),   #generate data
                        ncol=10)
heatmaply(mat, 
      row_side_colors = c(-50:49), #some easy continuous values to be annotated
      Rowv = FALSE)

image

The mouseover text reveals that the labels are neatly ordered from -50 on the top to 49 on the very bottom. However, the colors seem not in order, there is a hue break between -10 and -9 and then again between -1 and 0 and finally between 9 and 10.

Wouldn't there be a way to tell heatmaply that this is a continous variable?

alanocallaghan commented 1 year ago

Due to how plotly handles heatmaps we don't really support continuous variables in the side colours at present. Unfortunately I'd have to suggest binning them

jgoldmann commented 1 year ago

Ah, I see, then I shall try binning for now. Would it be an idea to mention this in the manual?

alanocallaghan commented 1 year ago

Yes should probably update the docs, although I'll see if I can block a bit of time the next weeks to fix this behaviour in general