R语言 ggplotly:在文本美学中如何将特殊变量与标准变量结合使用?

ippsafx7  于 2023-02-06  发布在  其他
关注(0)|答案(1)|浏览(114)

我正在创建一个交互式绘图,我希望工具提示显示时间(数据集中的变量)和计数(ggplot计算的变量)。使用建议here,我可以设置一个或另一个,但不能同时设置两个...下面是一个示例:

library(tidyverse)

data(ChickWeight)

ChickWeight %>%
  ggplot(aes(x = Time,
             text = paste(format(Time), "-", ..count..))) +
  geom_bar()

plotly::ggplotly(tooltip = "text")

这将失败并返回错误object 'Time' not found,但是text = format(Time)text = ..count..都可以独立工作。

z31licg0

z31licg01#

..count..表示法已被after_stat(count)取代,但无论哪种情况,..count..表示法都只能用于采用此统计变换的图层,而不能用于全局绘图美学Map。问题是,text美学不能用于全局美学Map以外的任何地方。
解决这个问题的明显方法是在绘图之前处理数据,这就像让ggplot为你做这件事一样简单:

library(tidyverse)

data(ChickWeight)

(ChickWeight %>%
  count(Time) %>%
  ggplot(aes(x = Time, text = paste(Time, "-", n))) +
  geom_bar()) %>%
  plotly::ggplotly()

相关问题