Giter Site home page Giter Site logo

Comments (4)

AliciaSchep avatar AliciaSchep commented on May 22, 2024

Thanks for your questions @josruirod ! Preliminary thoughts:

  • Can you share an example of what you mean? I'm not sure I fully understand the desired behavior.
  • With 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.
  • No methods for custom text annotations (other than the 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).

from iheatmapr.

josruirod avatar josruirod commented on May 22, 2024

Thank for your clarifications.

  • Forgive my poor explanation, I give some example now using "Indometh_patient_cor" dataset from the Vignette

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.

  • Thanks for your insights about the last points. Regarding the ordering, I have indeed used other functions and then provided my desired order to the plot. I'm sure an example is something nice to add, it would be useful to the ones who did not think about it at first.
    Regarding the custom text annotations, as far as I'm concerned there are no equivalent functions to text() or mtext() to use in interactive plots like these. A similar method specifying custom text and coordinates or location would be great to fine tuning the annotation, but of course it's not a big problem.

Thank you so much for answering and for your feedback!

from iheatmapr.

AliciaSchep avatar AliciaSchep commented on May 22, 2024

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.

from iheatmapr.

josruirod avatar josruirod commented on May 22, 2024

Thank you so much for your insights, all clear now. Regards

from iheatmapr.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.