Rshow/hide分

R show/hide points

各位。

我正在使用 Rggplot2。我有一张图表,上面有多个点(每个点都有不同的颜色。红色、蓝色、黄色等)。我还使用 R Shinyggiraph 包在 legends 上进行 click 事件。有一次,我点击 legend,我正在根据过滤条件渲染新图表,没问题。

问题。当从数据集中删除任何颜色(例如红色)时,legend(名称为红色)也会被隐藏。另外,我尝试隐藏点,但这个案例图例也被隐藏了。

我需要什么样的解决方案?

谢谢!

你可以试试 plotly:

library(plotly)
library(ggplot2)
#Code
ggplotly(ggplot(iris,aes(x=Sepal.Length,y=Sepal.Width,color=Species))+
  geom_point())

输出:

您必须创建自己的离散量表:

library(ggiraph)
library(ggplot2)

z <- ggplot(iris,aes(x=Sepal.Length,y=Sepal.Width,color=Species, tooltip = Species))+
  geom_point_interactive() + 
  scale_color_manual_interactive(values = c(setosa = "red", versicolor = "green", virginica = "yellow", yoyo = "black"),
                                 data_id = c(setosa = "setosa", versicolor = "versicolor", virginica = "virginica", yoyo = "yoyo"),
                                 tooltip = c(setosa = "setosa", versicolor = "versicolor", virginica = "virginica", yoyo = "yoyo"),
                                 limits = c("setosa", "versicolor", "virginica", "yoyo"))
girafe(ggobj = z)