我绘制以下内容:
library(ggplot2)
carrots <- data.frame(length = rnorm(500000, 10000, 10000))
cukes <- data.frame(length = rnorm(50000, 10000, 20000))
carrots$veg <- 'carrot'
cukes$veg <- 'cuke'
vegLengths <- rbind(carrots, cukes)
ggplot(vegLengths, aes(length, fill = veg)) +
geom_density(alpha = 0.2)
Run Code Online (Sandbox Code Playgroud)
现在说我只是想绘制之间的区域x=-5000
来5000
,而不是整个范围.
我怎样才能做到这一点?
我想制作一个密度图,使轴与刻度线相邻(或至少非常接近).如本MWE所示,ggplot2
即使我指定了xlim
和,也保留了刻度线和x轴和y轴上的轴之间的一些空间ylim
.我该如何删除它们?
对于其他类型的图,看起来你可以调用类似的东西scale_y_continuous(limits=c(0, 100), expand = c(0, 0))
(例如),但scale_linetype_manual()
使用这些参数调用似乎没有做任何事情.
另请注意,在这里的注释中我使用了绘制轴geom_segment
.有一个更好的方法吗?
set.seed(0)
the.df <- data.frame( x = rnorm(800, 50, 10), group = rep(letters[1:8], each = 100))
p <- ggplot(the.df) +
stat_density(aes(x = x, linetype = group), geom = "line", position = "identity") +
xlim(10, 90) + ylim(0, 0.06) +
scale_linetype_manual(values = c("11", "12", "13", "14", "21", "22", "23", "24")) +
geom_segment(aes(x = 10, y = 0, xend = 90, …
Run Code Online (Sandbox Code Playgroud)