在 ggplot 直方图上显示带有观察总数百分比的工具提示?
Display a tooltip with percent of total number of observations on ggplot histogram?
我有一个直方图,我希望工具提示能够显示该 bin 中观测值的百分比。
这是一个简单的(可重现的)直方图:
library(tidyverse)
library(ggplot2)
library(plotly)
hist <- iris %>%
ggplot(aes(x = Sepal.Length)) +
geom_histogram(bins = 20)
hist %>%
ggplotly(
# This gives hoverover the count and the variable, but I'd like it
# to also have the percent of total observations contained in that bin
tooltip=c("count", "Sepal.Length")
)
除了“计数”和“Sepal.Length”,我还想在工具提示中显示观察总数的百分比。
例如,最左边的 bin(包含 4 个观察值)的值应为 2.7% (4/150)
我会尝试在 ggplot
中使用 text
参数并将计数除以所有计数的总和。使用 sprintf
您可以获得所需的格式。在您的 tooltip
引用中 text
.
library(tidyverse)
library(ggplot2)
library(plotly)
hist <- iris %>%
ggplot(aes(x = Sepal.Length,
text = sprintf("Percent: %0.1f", ..count../sum(..count..) * 100))) +
geom_histogram(bins = 20)
hist %>%
ggplotly(
tooltip=c("count", "text", "Sepal.Length")
)
我有一个直方图,我希望工具提示能够显示该 bin 中观测值的百分比。
这是一个简单的(可重现的)直方图:
library(tidyverse)
library(ggplot2)
library(plotly)
hist <- iris %>%
ggplot(aes(x = Sepal.Length)) +
geom_histogram(bins = 20)
hist %>%
ggplotly(
# This gives hoverover the count and the variable, but I'd like it
# to also have the percent of total observations contained in that bin
tooltip=c("count", "Sepal.Length")
)
除了“计数”和“Sepal.Length”,我还想在工具提示中显示观察总数的百分比。
例如,最左边的 bin(包含 4 个观察值)的值应为 2.7% (4/150)
我会尝试在 ggplot
中使用 text
参数并将计数除以所有计数的总和。使用 sprintf
您可以获得所需的格式。在您的 tooltip
引用中 text
.
library(tidyverse)
library(ggplot2)
library(plotly)
hist <- iris %>%
ggplot(aes(x = Sepal.Length,
text = sprintf("Percent: %0.1f", ..count../sum(..count..) * 100))) +
geom_histogram(bins = 20)
hist %>%
ggplotly(
tooltip=c("count", "text", "Sepal.Length")
)