r - 如何将第三个值添加到绘图中,以便行/观察 ID 变量显示在 ggplotly 上



我想做什么

我有一个数据集,其中每行都有一个唯一的 ID,由 8 位数字 fx 1234-5678 组成。 我正在尝试绘制两个变量,一个数值变量和一个分类变量。但是,我希望当我的鼠标悬停在绘图中的观察结果上时,显示每个值的唯一 ID。

我的烦恼

我试图将 ID 标记添加为大小,size = ID,但这不起作用,R 给出警告消息:"不建议对离散变量使用 size。我也尝试过用颜色,其中color = ID,但我更喜欢将颜色设置为可变的 A,color = A,因为这在视觉上更容易查看,并且您可以更轻松地区分 A 中的不同值。

我不确定如何添加 ID 标记,除了在 ggplotly 输出中识别每个观察之外,它没有其他目的。

数据示例

A <- c("Europe", "Europe", "Asia", "Asia", "Asia", "Asia", "US", "US", "US", "US", "MENA", "MENA")
B<- c(0,3.15,4.55,5.02, 0,3.15,4.55,5.02, 0,3.15,4.55,5.02)
ID <- c("1234-5678", "1235-6789", "1345-6789", "1245-6789", "1224-5678", "1335-6789", "1445-6789", "1255-6789", "1234-5578", "1235-6689", "1335-6689", "1225-6889")
df <- data.frame(A,B,ID)
df_new <- df %>%
ggplot(aes(A,B, color=A))+
geom_point()+
theme(axis.text.x = element_text(angle = 90, vjust = 0.5))+
theme(legend.position = "none")
ggplotly(df_new)

从图中(一旦制作)可以看出,当您将鼠标悬停在观测值上时,来自

我希望有人可以帮助我从中前进:-)

修改代码,如下所示。这将显示 ID 作为每个观察任务的工具提示。

A <- c("Europe", "Europe", "Asia", "Asia", "Asia", "Asia", "US", "US", "US", "US", "MENA", "MENA")
B<- c(0,3.15,4.55,5.02, 0,3.15,4.55,5.02, 0,3.15,4.55,5.02)
ID <- c("1234-5678", "1235-6789", "1345-6789", "1245-6789", "1224-5678", "1335-6789", "1445-6789", "1255-6789", "1234-5578", "1235-6689", "1335-6689", "1225-6889")
df <- data.frame(A,B,ID)
df_new <- df %>%
ggplot(aes(A,B, color=A, text = ID))+
geom_point()+
theme(axis.text.x = element_text(angle = 90, vjust = 0.5))+
theme(legend.position = "none")
ggplotly(df_new, tooltip = "text")

最新更新