Как и в предыдущем посте, вы не предоставили воспроизводимый пример набора данных ... поэтому трудно найти решение, которое будет работать для ваших данных.
Одним из способов является вычисление максимального количества на бункеры и максимального значения функции плотности, затем вы можете составить коэффициент и применить его к geom_density
set.seed(123)
df <- data.frame(Total_average = rnorm(100,0,2))
binwidth = 0.2
Seq <- seq(floor(min(df$Total_average)), ceiling(max(df$Total_average)), by = binwidth)
# Determine max count per bins
Max_HIST <- max(hist(df$Total_average, breaks = Seq)$counts)
# Determine the max of the density
Max_Dens <- max(density(df$Total_average)$y)
Ratio <- Max_HIST / Max_Dens
library(ggplot2)
ggplot(df, aes(Total_average))+
geom_histogram(col = 'black', fill = 'white',binwidth = binwidth)+
geom_density(aes(y = ..density..*Ratio))+
scale_y_continuous(sec.axis = sec_axis(~./Ratio, name = "Density"))
Отвечает ли он на ваш вопрос?
Если нет, пожалуйста, предоставьте воспроизводимый пример вашего набора данных, следуя этому руководству: Как сделать отличный R Воспроизводимый пример
Примечание: по некоторым причинам кажется, что функции geom_histogram
и hist
не рассчитывают количество бинов одинаковым образом .... на данный момент я не нет хорошего объяснения этому.