我正在尝试在 R 中做一些密度图。我最初使用密度图,但我改用 ggplot2 中的密度图,因为我在视觉上更喜欢 ggplot2。
所以我使用密度图函数做了一个密度图,并在 ggplot2 中做了一个密度图(见下文),但我发现这些图并不相同。看起来 ggplot2(右图)中的某些 y 值已丢失或丢失。这有什么特别的原因吗?如何使 ggplot 与命运图(左图)相同。
代码:
library(ggplot2)
library(grid)
par(mfrow=c(1,2))
# define function to create multi-plot setup (nrow, ncol)
vp.setup <- function(x,y){
grid.newpage()
pushViewport(viewport(layout = grid.layout(x,y)))
}
# define function to easily access layout (row, col)
vp.layout <- function(x,y){
viewport(layout.pos.row=x, layout.pos.col=y)
}
vp.setup(1,2)
dat <- read.table(textConnection("
low high
10611.0 14195.0
10759.0 14437.0
10807.0 14574.0
10714.0 14380.0
10768.0 14448.0
10601.0 14239.0
10579.0 14218.0
10806.0 14510.0
"), header=TRUE, sep="\t")
plot(density(dat$low))
dat.low = data.frame(low2 = c(dat$low), lines = rep(c("low")))
low_plot_gg = (ggplot(dat.low, aes(x = low2, fill = lines)) +
stat_density(aes(y = ..density..)) +
coord_cartesian(xlim = c(10300, 11000))
)
print(low_plot_gg, vp=vp.layout(1,2))
最佳答案
基于一些反复试验,它看起来像你想要的
+ xlim(c(10300,11000))
而不是
+ coord_cartesian(xlim = c(10300, 11000))
coord_cartesian
扩展了绘图的限制,但根本不改变它们内部绘制的内容......关于R:ggplot2 中的密度图与密度图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12111793/