gpt4 book ai didi

r - 除去xlim和ylim之外的多余空间

转载 作者:行者123 更新时间:2023-12-03 12:49:55 24 4
gpt4 key购买 nike

我想绘制一个密度图,以使轴紧邻刻度线(或至少非常靠近刻度线)。如本MWE所示,即使我已指定ggplot2xlimylim在刻度线与x轴和y轴的轴之间保留了一些空间。如何删除它们?

在其他类型的绘图中,似乎可以调用scale_y_continuous(limits=c(0, 100), expand = c(0, 0))(for example)之类的东西,但是使用这些参数调用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, yend = 0)) +
geom_segment(aes(x = 10, y = 0, xend = 10, yend = 0.06))

p

最佳答案

原来scale_x_continuous()scale_x_continuous起作用了。我只是没有正确使用它们。

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") +
scale_linetype_manual(values = c("11", "12", "13", "14", "21", "22", "23", "24")) +
scale_x_continuous(limits=c(10, 90), expand = c(0, 0)) +
scale_y_continuous(limits=c(0, 0.06), expand = c(0, 0)) +
geom_segment(aes(x = 10, y = 0, xend = 90, yend = 0)) +
geom_segment(aes(x = 10, y = 0, xend = 10, yend = 0.06))

p

关于r - 除去xlim和ylim之外的多余空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23710875/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com