Gõ get("compute_group", ggplot2::StatDensity)
(hay, trước đây, get("calculate", ggplot2:::StatDensity)
) sẽ giúp bạn có được thuật toán sử dụng để tính mật độ. (Tại gốc, đó là một cuộc gọi đến density()
với kernel="gaussian"
mặc định.)
Những điểm được sử dụng trong cốt truyện được vô hình được trả về bởi print.ggplot()
, vì vậy bạn có thể truy cập chúng như thế này:
library(ggplot2)
m <- ggplot(movies, aes(x = rating))
m <- m + geom_density()
p <- print(m)
head(p$data[[1]], 3)
# y x density scaled count PANEL group ymin ymax
# 1 0.0073761 1.0000 0.0073761 0.025917 433.63 1 1 0 0.0073761
# 2 0.0076527 1.0176 0.0076527 0.026888 449.88 1 1 0 0.0076527
# 3 0.0078726 1.0352 0.0078726 0.027661 462.81 1 1 0 0.0078726
## Just to show that those are the points you are after,
## extract and use them to create a lattice xyplot
library(gridExtra)
library(lattice)
mm <- xyplot(y ~x, data=p$data[[1]], type="l")
Nguồn
2012-09-12 19:00:28
tôi thấy stat_density rằng() cho phép bạn thiết lập các thông số. Vì vậy, có lẽ đó là câu trả lời phần đầu tiên. Vẫn muốn biết nếu phương trình hoặc điểm có thể được trích xuất. – unixsnob