All Projects → ropensci → Iheatmapr

ropensci / Iheatmapr

Licence: other
Complex, interactive heatmaps in R

Programming Languages

r
7636 projects

Projects that are alternatives of or similar to Iheatmapr

Plotly
An interactive graphing library for R
Stars: ✭ 2,096 (+766.12%)
Mutual labels:  r-package, rstats, data-visualization, plotly
Dash
Analytical Web Apps for Python, R, Julia, and Jupyter. No JavaScript Required.
Stars: ✭ 15,592 (+6342.98%)
Mutual labels:  rstats, data-visualization, plotly
Plotly Graphing Library For Matlab
Plotly Graphing Library for MATLAB®
Stars: ✭ 234 (-3.31%)
Mutual labels:  data-visualization, plotly
Tesseract
Bindings to Tesseract OCR engine for R
Stars: ✭ 192 (-20.66%)
Mutual labels:  r-package, rstats
Charlatan
Create fake data in R
Stars: ✭ 209 (-13.64%)
Mutual labels:  r-package, rstats
Karyoploter
karyoploteR - An R/Bioconductor package to plot arbitrary data along the genome
Stars: ✭ 192 (-20.66%)
Mutual labels:  rstats, data-visualization
Datasaurus
R Package 📦 Containing the Datasaurus Dozen datasets 📊
Stars: ✭ 193 (-20.25%)
Mutual labels:  r-package, rstats
Dexplot
Simple plotting library that wraps Matplotlib and integrated with DataFrames
Stars: ✭ 208 (-14.05%)
Mutual labels:  data-visualization, plotly
Git2r
R bindings to the libgit2 library
Stars: ✭ 171 (-29.34%)
Mutual labels:  r-package, rstats
Reaviz
📊 Data visualization library for React based on D3
Stars: ✭ 215 (-11.16%)
Mutual labels:  data-visualization, heatmap
Edaviz
edaviz - Python library for Exploratory Data Analysis and Visualization in Jupyter Notebook or Jupyter Lab
Stars: ✭ 220 (-9.09%)
Mutual labels:  data-visualization, plotly
Fulltext
Search across and get full text for OA & closed journals
Stars: ✭ 221 (-8.68%)
Mutual labels:  r-package, rstats
Tablesaw
Java dataframe and visualization library
Stars: ✭ 2,785 (+1050.83%)
Mutual labels:  data-visualization, plotly
Plotly.js
Open-source JavaScript charting library behind Plotly and Dash
Stars: ✭ 14,268 (+5795.87%)
Mutual labels:  data-visualization, plotly
Leaflet.extras
Extra functionality for leaflet R package.
Stars: ✭ 193 (-20.25%)
Mutual labels:  rstats, data-visualization
Dataretrieval
This R package is designed to obtain USGS or EPA water quality sample data, streamflow data, and metadata directly from web services. See: http://usgs-r.github.io/dataRetrieval/
Stars: ✭ 176 (-27.27%)
Mutual labels:  r-package, rstats
Osmdata
R package for downloading OpenStreetMap data
Stars: ✭ 199 (-17.77%)
Mutual labels:  r-package, rstats
Calendar Heatmap
A d3 heatmap for representing time series data similar to github's contribution chart
Stars: ✭ 1,985 (+720.25%)
Mutual labels:  data-visualization, heatmap
Taxize
A taxonomic toolbelt for R
Stars: ✭ 209 (-13.64%)
Mutual labels:  r-package, rstats
Slapdash
Boilerplate for bootstrapping scalable multi-page Dash applications
Stars: ✭ 225 (-7.02%)
Mutual labels:  data-visualization, plotly

Build Status AppVeyor Build Status codecov R version JOSS CRAN License: MIT

iheatmapr

iheatmapr is an R package for building complex, interactive heatmaps using modular building blocks. "Complex" heatmaps are heatmaps in which subplots along the rows or columns of the main heatmap add more information about each row or column. For example, a one column additional heatmap may indicate what group a particular row or column belongs to. Complex heatmaps may also include multiple side by side heatmaps which show different types of data for the same conditions. Interactivity can improve complex heatmaps by providing tooltips with information about each cell and enabling zooming into interesting features. iheatmapr uses the plotly library for interactivity.

While there are already plenty of awesome R packages for making heatmaps, including several great packages for making relatively simple interactive heatmaps (heatmaply and d3heatmap) or complex static heatmaps (ComplexHeatmap), iheatmapr seeks to make it easy to make complex interactive heatmaps.

Installation

To install the CRAN version of iheatmapr:

install.packages("iheatmapr")

To install the github version of iheatmapr:

devtools::install_github("ropensci/iheatmapr")

Example Complex Heatmap

As an example of a complex heatmap, we can make a version of the famous vaccines plot from the Wall Street Journal that has been recreated in several other heatmap frameworks in R.

The code to create this heatmap is:

library(iheatmapr)
data(measles, package = "iheatmapr")

main_heatmap(measles, name = "Measles<br>Cases", x_categorical = FALSE,
             layout = list(font = list(size = 8))) %>%
  add_col_groups(ifelse(1930:2001 < 1961,"No","Yes"),
                  side = "bottom", name = "Vaccine<br>Introduced?",
                  title = "Vaccine?",
                  colors = c("lightgray","blue")) %>%
  add_col_labels(ticktext = seq(1930,2000,10),font = list(size = 8)) %>%
  add_row_labels(size = 0.3,font = list(size = 6)) %>% 
  add_col_summary(layout = list(title = "Average<br>across<br>states"),
                  yname = "summary")  %>%                 
  add_col_title("Measles Cases from 1930 to 2001", side= "top") %>%
  add_row_summary(groups = TRUE, 
                  type = "bar",
                  layout = list(title = "Average<br>per<br>year",
                                font = list(size = 8)))
              

Modular components of the plot are added in an iterative fashion to the top, right, left, or bottom of the heatmap. iheatmapr also contains a function (iheatmap) to make a fairly standard heatmap with optional dendrograms and row or column annotation heatmaps (See vignette).

All the plots aligned with the main heatmap horizontally share the same y axis and thus zooming in the y direction within the heatmap will also zoom in to those subplots. The plots aligned vertically share an x axis with that heatmap and zooming horizontally within those plots will be linked.

Hovering over the heatmaps yields a tooltip with the name of the row and column as well as the value represented.

Documentation

See the vignette for a more thorough introduction to the package.

Acknowledgements

This package includes the open source Plotly.js library, which does much of the work of making these interactive plots possible! In creating this package, I also drew inspiration & some code from the great plotly R package; in particular, the code for the iheatmapr htmlwidget is adapted from an earlier version of the plotly R package. Additionally, numerous people at Genentech helped provide feedback and guidance for this project, including but not limited to Justin Finkle, August Guang, Michael Lawrence, Gabe Becker, Steve Lianoglou, Pete Haverty... thanks to all who helped review code and/or provide feedback! This package also went through the on-boarding process for rOpensci -- thanks to the reviewers Carl Ganz and Andee Kaplan and editor Maëlle Salmon for all their helpful feedback!

ropensci_footer

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].