Closed josruirod closed 7 years ago
Thanks for your questions @josruirod ! Preliminary thoughts:
add_row_clusters
there is currently no option to control the ordering within clusters. That seems like a useful feature. For now, there are lower level functions that allow you to control the ordering and clustering more finely. I'll try to make an example of that to share.add_col_labels
and add_col_title
). The add_col_labels
type of method might be able to be adapted for this use case, although it wouldn't be straightforward (basic idea is that you can specify what columns to label (doesn't need to be all and what label you want to use, so you could just label one row per cluster). Thank for your clarifications.
iheatmap(Indometh_patient_cor,name = "Correlation", scale = c("rows"), scale_method = c("center")) This provides a heatmap where the values range to -0.03 to 0.029.
Using the same matrix with other typical heatmaps packages, like pheatmap, that scale changes. pheatmap(Indometh_patient_cor, scale = c("row"))
I believe pheatmap scaling row-wise takes also into account sd, but what I find interesting is that by default provides a colorbar ranging from -1.5 to 1.5 value. And the fact that this can be changed using the breaks argument for example.
I wondered if in any way we can control the range of values in the colorbar with your function. It could be interesting for example to get the same range of positive or negative values or to force the same scale in different plots in order to compare them.
Thank you so much for answering and for your feedback!
Thanks for the clarification about the scaling!
Regarding the scale issue, "center" just subtracts the mean, while "standardize" subtracts the mean and divides by the standard deviation. The "standardize" option will give results comparable to pheatmap scaling method. I realize this wasn't very clear in documentation and have updated the man page for iheatmap
function.
For more control over min/max of range, using the lower level main_heatmap
function gives more options -- the zmin
and zmax
arguments specify the max/min of the colorbar/scale. You can also pass those arguments to iheatmap
as all extra arguments to iheatmap
get passed along to main_heatmap
. Currently no options to fine tune the exact breaks desired, but I agree that would be a nice additional feature.
Thank you so much for your insights, all clear now. Regards
Hello and first of all thanks for the very nice package and your development, it's a real contribution and the complex modular plots approach is really interesting.
Please allow me to make you some questions I have been struggling with, after carefully reviewing the net and the vignette. I can try further pre-processing the data before plotting, but I have decided to ask to make sure the package does not have these functionalities:
The color scales of heatmap has confused me from the beginning. While others packages force the scale to a certain range, (-1.5, 1.5) for example, with iheatmapr I see other ranges and I'm afraid that's making the interpretation difficult when plotting data with different ranges. Is there any way of forcing the rescaling of the data to a certain range? In some cases we could see clearer patterns and better compare different plots.
I have performed custom clustering of the features in the rows and assigning it with add_row_clusters is working as expected. The reordering is nice, but I was wondering how each element is ordered inside the same cluster. Is there any way of controlling these? For example, within each row cluster plotting the elements sorted in decreasing or increasing order according to some column
I have not found any way of adding custom text annotations to the plot. Adding blocks of text, for example to annotate or add information to row/columns clusters would be a nice feature in this modular context.
Thank you for your package and your time