我的数据(final.df)如下:
A B C Y 1
0 0 0 0 0.05
0 0 1 1 0.03
....
根据下面的注释,这是数据帧的ASCII文本表示形式。
structure(list(A = c(502, 541, 542, 543, 544, 545, 4304, 4370,
4371, 4372, 4373, 4442), B = c(4.4, 4.2, 4.4, 4.6, 4.8, 5, 5.2,
4.6, 4.8, 5, 5.2, 5.2), C = c(2.6, 2.8, 2.8, 2.8, 2.8, 2.8, 12.6,
12.8, 12.8, 12.8, 12.8, 13), Y = c(1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1), `1` = c(0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1), `NA` = c(0,
0, 0, 0, 0, 0, 0, 0, 0.000281600479875937, 0, 0, 0)), .Names = c("A",
"B", "C", "Y", "1", NA), row.names = c(1L, 2L, 3L, 4L, 5L, 6L,
7L, 8L, 9L, 10L, 11L, 12L), class = "data.frame")
总而言之,有四列标识每个数据点。我有兴趣根据名称为1的列中的值创建两个箱形图。我想比较“ Y”列中标记为0和“ Y”列中标记为1的点的值。最后,我希望能够将鼠标悬停在这些点上以检索元数据,即“ A”,“ B”,“ C”和“ 1”的值。
p <- ggplot(final.df, aes(x = factor(Y), y =
Y, fill = factor(Y)))
p <- p + geom_boxplot() + geom_point() + xlab("Y") + guides(fill =
guide_legend("Y")) + theme(legend.position="top")
final.p <- ggplotly(p)
当前图在1中显示了factor(Y)值和对应的值。如何在“ A”,“ B”,“ C”列中包含元数据?
答案 0 :(得分:1)
我们可以使用paste0
和HTML标签<br><\br>
构建文本,并指示toolttip
使用文本。
p <- ggplot(df, aes(x = factor(Y), y = Y,
fill = factor(Y), text=paste('</br>A: ',A,'</br>B: ',B, '</br>1: ',1)))
ggplotly(p,tooltip = c("text"))
答案 1 :(得分:1)
使用tooltip
的{{1}}功能。输入ggplotly
来阅读有关内容。见下文:
help(ggplotly)