如何在 Shiny 中使用 heatmaply 包绘制热图?
How can I plot a heatmap with the heatmaply package in Shiny?
我正在尝试使用 heatmaply 包来绘制热图并且效果很好。
另一方面,当我尝试在 Shiny 中执行相同的绘图时,它并没有出现在界面中(当我单击“运行 app”时)。但是,当我关闭 window 时,该图突然出现在 R 查看器中。 heatmaply 包是否可能不适用于 Shiny?
这是我在 R 中绘制的代码。
library(heatmaply)
x <- as.matrix(datasets::mtcars)
rc <- colorspace::rainbow_hcl(nrow(x))
heatmaply(
x[, -c(8, 9)],
col_side_colors = rc[1:9],
showticklabels=FALSE,
Rowv = TRUE,
Colv = FALSE
)
这是我在 Shiny 中的代码。
library(shiny)
library(heatmaply)
ui <- fluidPage(
# Application title
titlePanel("Heatmap"),
sidebarLayout(
sidebarPanel(
),
# Show a plot of the generated distribution
mainPanel(
plotOutput("distPlot")
)
)
)
x <- as.matrix(datasets::mtcars)
rc <- colorspace::rainbow_hcl(nrow(x))
server <- function(input, output) {
output$distPlot <- renderPlot({
heatmaply(
x[, -c(8, 9)],
col_side_colors = rc[1:9],
showticklabels=FALSE,
Rowv = TRUE,
Colv = FALSE
)
})
}
# Run the application
shinyApp(ui = ui, server = server)
我已经尝试了另一个包来获得交互式热图,但它是唯一一个具有我想要的东西的包,因此我需要在这里询问是否有人知道如何在 Shiny 中使用它。
提前致谢,
此致
您可以使用 plotlyOutput
和 renderPlotly
:
library(shiny)
library(heatmaply)
library(plotly)
ui <- fluidPage(
# Application title
titlePanel("Heatmap"),
sidebarLayout(
sidebarPanel(
),
# Show a plot of the generated distribution
mainPanel(
plotlyOutput("distPlot")
)
)
)
x <- as.matrix(datasets::mtcars)
rc <- colorspace::rainbow_hcl(nrow(x))
server <- function(input, output) {
output$distPlot <- renderPlotly({
heatmaply(
x[, -c(8, 9)],
col_side_colors = rc[1:9],
showticklabels=FALSE,
Rowv = TRUE,
Colv = FALSE
)
})
}
# Run the application
shinyApp(ui = ui, server = server)
还有一个软件包 shinyHeatmaply,您可能会感兴趣。
我正在尝试使用 heatmaply 包来绘制热图并且效果很好。
另一方面,当我尝试在 Shiny 中执行相同的绘图时,它并没有出现在界面中(当我单击“运行 app”时)。但是,当我关闭 window 时,该图突然出现在 R 查看器中。 heatmaply 包是否可能不适用于 Shiny?
这是我在 R 中绘制的代码。
library(heatmaply)
x <- as.matrix(datasets::mtcars)
rc <- colorspace::rainbow_hcl(nrow(x))
heatmaply(
x[, -c(8, 9)],
col_side_colors = rc[1:9],
showticklabels=FALSE,
Rowv = TRUE,
Colv = FALSE
)
这是我在 Shiny 中的代码。
library(shiny)
library(heatmaply)
ui <- fluidPage(
# Application title
titlePanel("Heatmap"),
sidebarLayout(
sidebarPanel(
),
# Show a plot of the generated distribution
mainPanel(
plotOutput("distPlot")
)
)
)
x <- as.matrix(datasets::mtcars)
rc <- colorspace::rainbow_hcl(nrow(x))
server <- function(input, output) {
output$distPlot <- renderPlot({
heatmaply(
x[, -c(8, 9)],
col_side_colors = rc[1:9],
showticklabels=FALSE,
Rowv = TRUE,
Colv = FALSE
)
})
}
# Run the application
shinyApp(ui = ui, server = server)
我已经尝试了另一个包来获得交互式热图,但它是唯一一个具有我想要的东西的包,因此我需要在这里询问是否有人知道如何在 Shiny 中使用它。
提前致谢,
此致
您可以使用 plotlyOutput
和 renderPlotly
:
library(shiny)
library(heatmaply)
library(plotly)
ui <- fluidPage(
# Application title
titlePanel("Heatmap"),
sidebarLayout(
sidebarPanel(
),
# Show a plot of the generated distribution
mainPanel(
plotlyOutput("distPlot")
)
)
)
x <- as.matrix(datasets::mtcars)
rc <- colorspace::rainbow_hcl(nrow(x))
server <- function(input, output) {
output$distPlot <- renderPlotly({
heatmaply(
x[, -c(8, 9)],
col_side_colors = rc[1:9],
showticklabels=FALSE,
Rowv = TRUE,
Colv = FALSE
)
})
}
# Run the application
shinyApp(ui = ui, server = server)
还有一个软件包 shinyHeatmaply,您可能会感兴趣。