R绘图直方图悬停文本

R绘图直方图悬停文本,r,plotly,R,Plotly,这是我的密码。只是一张简单的直方图。但我想做的是自定义悬停文本,这样当我悬停时,它将显示直方图栏中包含的所有物种。你能帮我吗 iris %>% plot_ly(x=~Sepal.Length, color=~Sepal.Width, text=~Species) %>% add_histogram() 这是输出。但当我悬停时,文本似乎只显示了表中的第一个物种。 我不确定这是否可行。也许你对普罗特利的要求太高了。在尝试了一些选项之后,如果您希望不同的物种出现在工具提示中,

这是我的密码。只是一张简单的直方图。但我想做的是自定义悬停文本,这样当我悬停时,它将显示直方图栏中包含的所有物种。你能帮我吗

iris %>% 
  plot_ly(x=~Sepal.Length, color=~Sepal.Width, text=~Species) %>% 
  add_histogram()
这是输出。但当我悬停时,文本似乎只显示了表中的第一个物种。
我不确定这是否可行。也许你对普罗特利的要求太高了。在尝试了一些选项之后,如果您希望不同的
物种出现在工具提示中,我认为有两种方法:

第一个选项是使用堆叠直方图,使用
hovermode=“unified”
如下所示:

library(plotly)

fig <- plot_ly()

fig <- fig %>% add_trace(data = filter(iris, Species == "setosa"), 
                         x = ~Sepal.Length,
                         color = ~Species,
                         text = ~Species,
                         type='histogram',
                         bingroup=1, showlegend = FALSE)

fig <- fig %>% add_trace(data = filter(iris, Species == "versicolor"),
                         x = ~Sepal.Length,
                         color = ~Species,
                         text = ~Species,
                         type='histogram',
                         bingroup=1, showlegend = FALSE)

fig <- fig %>% add_trace(data = filter(iris, Species == "virginica"),
                         x = ~Sepal.Length,
                         color = ~Species,
                         text = ~Species,
                         type='histogram',
                         bingroup=1, showlegend = FALSE)

fig <- fig %>% layout(
  hovermode="unified",
  barmode="stack",
  bargap=0.1)

fig

我不确定这是否可能。也许你对普罗特利的要求太高了。在尝试了一些选项之后,如果您希望不同的
物种出现在工具提示中,我认为有两种方法:

第一个选项是使用堆叠直方图,使用
hovermode=“unified”
如下所示:

library(plotly)

fig <- plot_ly()

fig <- fig %>% add_trace(data = filter(iris, Species == "setosa"), 
                         x = ~Sepal.Length,
                         color = ~Species,
                         text = ~Species,
                         type='histogram',
                         bingroup=1, showlegend = FALSE)

fig <- fig %>% add_trace(data = filter(iris, Species == "versicolor"),
                         x = ~Sepal.Length,
                         color = ~Species,
                         text = ~Species,
                         type='histogram',
                         bingroup=1, showlegend = FALSE)

fig <- fig %>% add_trace(data = filter(iris, Species == "virginica"),
                         x = ~Sepal.Length,
                         color = ~Species,
                         text = ~Species,
                         type='histogram',
                         bingroup=1, showlegend = FALSE)

fig <- fig %>% layout(
  hovermode="unified",
  barmode="stack",
  bargap=0.1)

fig

非常感谢。这正是我要找的!随访如果我做第一个答案,我如何定制每个条顶部的数据标签,使其值类似于直方图(条中所有项目的计数)?Hi@jassybels。他又看了一眼。不幸的是,除了切换到
ggplotly
,我在中找不到解决此问题的方法。通过这种方式,您可以利用ggplot2的所有魔力,并且仍然拥有一个交互式的plotly图表。看一下我的编辑。嗨,斯蒂芬,如果你有时间,你能看一下我的问题吗?谢谢,谢谢!这正是我要找的!随访如果我做第一个答案,我如何定制每个条顶部的数据标签,使其值类似于直方图(条中所有项目的计数)?Hi@jassybels。他又看了一眼。不幸的是,除了切换到
ggplotly
,我在中找不到解决此问题的方法。通过这种方式,您可以利用ggplot2的所有魔力,并且仍然拥有一个交互式的plotly图表。看一下我的编辑。嗨,斯蒂芬,如果你有时间,你能看一下我的问题吗?非常感谢。
library(plotly)

ggplot(iris, aes(Sepal.Length, fill = Species)) +
  stat_bin(breaks = seq(4, 8, .5), closed = "left") +
  stat_bin(breaks = seq(4, 8, .5), closed = "left", geom = "text", mapping = aes(Sepal.Length, label = ..count..), inherit.aes = FALSE, vjust = -.5) +
  theme_light()

ggplotly()