所有
为了绘制许多组(类别)中的数据:
data(iris)
library(dplyr)
iris_new <- select(iris, -Species)
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) +
geom_point(data = iris_new, colour = "grey70") +
geom_point(aes(colour = Species)) +
facet_wrap(~Species)
之前我没有制作过互动图,但我想知道一种让我以交互方式制作上图的方法。例如,我不想使用facet
显示数据,而是希望有一个类似于底部的内容或向下滚动列表功能,我可以单击该功能以交互方式突出显示不同组的数据。每次我点击某个组名(如用于图例的组名)时,我都会看到组数据突出显示,其他数据显示为灰色。这里有什么想法?谢谢。
答案 0 :(得分:1)
您可以通过shiny
进行互动展示。见这里:https://shiny.rstudio.com/
您可以运行以下代码:
library(shiny)
library(dplyr)
library(ggplot2)
data(iris)
ui <- fluidPage(
selectInput('species','Species',c("setosa","versicolor","virginica")),
plotOutput("plot")
)
server <- function(input, output) {
iris_new <- select(iris, -Species)
output$plot <- renderPlot({
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) +
geom_point(data = iris_new, colour = "grey70") +
geom_point(data=iris[iris$Species==input$species,],aes(colour = Species))
})
}
shinyApp(ui = ui, server = server)