gpt4 book ai didi

r - 使用ggplotly时如何选择要在工具提示中显示的变量?

转载 作者:行者123 更新时间:2023-12-03 08:59:34 25 4
gpt4 key购买 nike

我有一个简单的数据框:

seq <- 1:10
name <- c(paste0("company",1:10))
value <- c(250,125,50,40,40,30,20,20,10,10)
d <- data.frame(seq,name,value)

我想以这种方式绘制它:
require(ggplot2)
ggplot(data = d,aes(x=seq,y=value))+geom_line() + geom_point()

现在我想使用 plotly,主要是为了能够在将鼠标悬停在一个点上时,获取值以外的其他信息,例如公司名称。我试试这个:
require(plotly)
ggplotly()

这给了我一个工具提示,但只有 seq 和 value。我尝试了选项 tooltip= 但它指定您可以使用美学中描述的唯一变量,并且我不在我的 aes 中使用该名称。

有什么解决办法吗?我看到我不是第一个遇到这个问题的人,但我还没有找到与 ggplotly 一起工作的答案。

最佳答案

您不需要修改 plotly @royr2 建议的对象。只需添加 label = name作为第三审美

ggplot(data = d, aes(x = seq, y = value, label = name)) + geom_line() + geom_point()

工具提示将显示 name除了 seqvalue .
ggplotly帮助文件说到 tooltip范围:

The default, "all", means show all the aesthetic mappings (including the unofficial "text" aesthetic).



所以你可以使用 label美观,只要您不想将其用于 geom_text .

顺便说一句:我也试过 text而不是 label
ggplot(data = d, aes(x = seq, y = value, text = name)) + geom_line() + geom_point()

但随后 ggplot2提示

geom_path: Each group consists of only one observation. Do you need to adjust the group aesthetic?



并且只绘制点。我不得不向 geom_line 添加一个虚拟组删除问题:
ggplot(data = d, aes(x = seq, y = value, text = name)) + geom_line(group = 1) + geom_point()

(但请注意,如果您将虚拟组作为第四个美学元素放置在 aes() 中,默认情况下它也会出现在工具提示中。)

但是,我找到了非官方的 text美学可以与 label 一起变得有用如果你想用 geom_text 绘制不同的字符串并显示在工具提示中。

编辑以回答评论中的问题: tooltip ggplotly() 的参数可用于控制外观。 ggplotly(tooltip = NULL)将完全抑制工具提示。 ggplotly(tooltip = c("label"))选择要包含在工具提示中的美学。

关于r - 使用ggplotly时如何选择要在工具提示中显示的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36325154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com