htShiny {InteractiveComplexHeatmap} | R Documentation

## Interactive heatmaps as a Shiny app

### Description

Interactive heatmaps as a Shiny app

### Usage

    htShiny(ht_list = get_last_ht(), title = NULL,
        description = NULL, hline = TRUE, html = NULL,

        # parameters passed to InteractiveComplexHeatmapOutput()
        heatmap_id = NULL, title1 = "Original heatmap", title2 = "Selected sub-heatmap",
        width1 = ifelse(layout == "1|(2-3)", 800, 450),
        height1 = ifelse(layout == "1-(2|3)", 700, 350),
        width2 = 400,
        height2 = 350,
        width3 = ifelse(layout == "(1-2)|3", 800, 400),
        layout = ifelse("brush" %in% response, "(1-2)|3", "1-3"), compact = FALSE,
        action = "click", cursor = TRUE, response = c(action, "brush"),
        brush_opt = list(stroke = "#f00", opacity = 0.6),
        output_ui_float = FALSE
        )

### Arguments

`ht_list` | A `Heatmap-class` or a `HeatmapList-class` object. If it is not specified, the last generated heatmap is used. The heatmap object should better be already updated by `draw()` function.
`title` | Title of the app.
`description` | Description of the app. The content will be wrapped by a `p` tag and inserted before the interactive heatmap widget.
`hline` | Whether to add the horizontal line (by `hr` tag) after `description`.
`html` | HTML fragment inserted below the heatmap. The value can be a string or be wrapped by `HTML`.
`heatmap_id` | Pass to `InteractiveComplexHeatmapOutput`.
`title1` | Pass to `InteractiveComplexHeatmapOutput`.
`title2` | Pass to `InteractiveComplexHeatmapOutput`.
`width1` | Pass to `InteractiveComplexHeatmapOutput`.
`height1` | Pass to `InteractiveComplexHeatmapOutput`.
`width2` | Pass to `InteractiveComplexHeatmapOutput`.
`height2` | Pass to `InteractiveComplexHeatmapOutput`.
`width3` | Pass to `InteractiveComplexHeatmapOutput`.
`layout` | Pass to `InteractiveComplexHeatmapOutput`.
`compact` | Pass to `InteractiveComplexHeatmapOutput`.
`action` | Pass to `InteractiveComplexHeatmapOutput`.
`cursor` | Pass to `InteractiveComplexHeatmapOutput`.
`response` | Pass to `InteractiveComplexHeatmapOutput`.
`brush_opt` | Pass to `InteractiveComplexHeatmapOutput`.
`output_ui_float` | Pass to `InteractiveComplexHeatmapOutput`.

### Details

With any `Heatmap`/`HeatmapList` object, directly send to `htShiny()` to create a Shiny app for the heatmap(s):

        htShiny(ht_list)

If the heatmaps are already drawn, `ht_list` can be omitted and the last heatmap object is retrieved automatically:

        Heatmap(...) + other_heatmaps_or_annotations # or other functions that internally use Heatmap()
        htShiny()

### Value

A Shiny app object.

### See Also

- https://jokergoo.shinyapps.io/interactive_complexheatmap/

- https://jokergoo.shinyapps.io/interactive_complexheatmap_vertical/

- https://jokergoo.shinyapps.io/interactive_densityheatmap/

- https://jokergoo.shinyapps.io/interactive_oncoprint/

- https://jokergoo.shinyapps.io/interactive_enrichedheatmap/

- https://jokergooo.shinyapps.io/interactive_upsetp/

- https://jokergooo.shinyapps.io/interactive_pheatmap/

- https://jokergooo.shinyapps.io/interactive_heatmap/

- https://jokergooo.shinyapps.io/interactive_heatmap_2/

- https://jokergooo.shinyapps.io/interactive_tidyheatmap/

There are also many examples that can be get with `htShinyExample`.

### Examples

    # use last generated heatmap
    if(interactive() && dev.interactive()) {
        m = matrix(rnorm(100), 10)
        Heatmap(m)
        htShiny()
    }

    # by providing a heatmap/heatmap list
    if(interactive()) {
        m = matrix(rnorm(100), 10)
        rownames(m) = 1:10
        colnames(m) = 1:10

        ht = Heatmap(m)
        ht = draw(ht)
        htShiny(ht)
    }

    # vertical heatmap list
    if(interactive()) {
        m1 = matrix(rnorm(100), 10)
        rownames(m1) = 1:10
        colnames(m1) = 1:10
        ht1 = Heatmap(m1, row_km = 2, column_km = 2)

        m2 = matrix(sample(letters[1:10], 100, replace = TRUE), 10)
        ht2 = Heatmap(m2)

        ht_list = draw(ht1 + ht2)
        htShiny(ht_list)

        ht_list = ht1 %v% ht2
        htShiny(ht_list)
    }

    # compact mode
    if(interactive()) {
        m = matrix(rnorm(100), 10)
        Heatmap(m)
        htShiny(compact = TRUE)
    }

[Package InteractiveComplexHeatmap version 1.0.0 Index]