2017-10-05 46 views
0

我有一个图表,我想改变跨度参数,但是我没有在我的行中看到不同。我的观察结果在每个数据中都超过了1000。跨度参数不能在ggplot2上的图表上工作

我用这个代码:关于如何解决跨度会great.Thank你

ggplot(data, aes(x=, y=)) + geom_smooth(aes(color="KHRC"),se = FALSE, span = 0.3)+ 
    geom_smooth(data=GO1,aes(color="GO1"),se = FALSE, span = 0.3)+ 
    geom_smooth(data=GO2,aes(color="GO2"),se = FALSE, span = 0.3)+ 
    geom_smooth(data=GO4,aes(color="GO4"),se = FALSE, span = 0.3)+ 
    geom_smooth(data=GO3,aes(color="GO3"),se = FALSE, span = 0.3)+ 
    geom_smooth(data=GO6,aes(color="GO6"),se = FALSE, span = 0.3)+ 
    scale_x_datetime(limits = c(ymd_hms("2016-11-05 09:00:00"), ymd_hms("2016-11-07 00:00:00")))+ 
    labs(color="ID")+ 
    ggtitle("x vs y ") 

建议。

+2

好的问题开始重现的例子。请考虑编辑您的帖子,因为它现在可能会被关闭为“Off-topic”。 – Nate

+0

即使在没有可重现的数据集的情况下,您发布的ggplot代码也有两个值得注意的问题。 (1)你在'aes()'函数中没有赋值'x'和'y'。 (2)您多次调用'geom_smooth()'。相反,您应该考虑对数据进行融合,以便您有一个包含标签“KHRC”,“G01”等的“变量”列。然后,您可以调用'geom_smooth()'一次,包括'aes(color = variable,基团=可变)'。 – bdemarest

回答

0

这里是geom_smooth使用span 参数用一个简单的,可再现例如内置iris数据集。这可能有助于您开始解决您自己的实施问题。 正如您在下面看到的,将跨度从0.5更改为0.95的功能与预期相同。 不幸的是,它不明白为什么它不适合你,因为我们没有你的数据集来测试它。

library(ggplot2) 

p1 = ggplot(iris, aes(x=Sepal.Width, y=Sepal.Length, colour=Species)) + 
    geom_point(size=2, alpha=0.5, shape=20) + 
    geom_smooth(method="loess", se=FALSE, span=0.5) + 
    labs(title="Span = 0.5") 

p2 = ggplot(iris, aes(x=Sepal.Width, y=Sepal.Length, colour=Species)) + 
    geom_point(size=2, alpha=0.5, shape=20) + 
    geom_smooth(method="loess", se=FALSE, span=0.95) + 
    labs(title="Span = 0.95") 

library(gridExtra) 
ggsave("geom_smooth.png", arrangeGrob(p1, p2, ncol=2), width=9, height=4, dpi=150) 

enter image description here

相关问题