1

大家。

我正在使用Rggplot2。我有一个图表,上面有多个点(每个点都有不同的颜色。红色、蓝色、黄色等)。我也在使用R Shinyggiraphclicklegends. 一次,我单击legend,我正在根据过滤条件渲染新图表,这很好。

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

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

谢谢 !

4

2 回答 2

2

您必须创建自己的离散比例:

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)

在此处输入图像描述

于 2020-12-06T16:15:57.860 回答
1

您可以尝试plotly

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

输出:

在此处输入图像描述

于 2020-12-06T16:01:39.217 回答