我试图找到如何对 ggplot 中由函数定义的两条线之间的区域进行着色的可能性。我找到了一些使用 geom_area 或 geom_ribbon 的解决方案,但在这两种情况下,您都需要一个定义 ymin 和 ymax 的数据库。还有其他的可能吗? ymin 和 ymax 的定义方式也与线具有相同的功能吗?
这是我的例子:
myplot <- ggplot(data.frame(x=c(0, 100)), aes(x=x)) +
stat_function(fun= function(x)20*sqrt(x), geom="line", colour= "black", size= 1) +
stat_function(fun= function(x)50*sqrt(x), geom="line", colour= "black", size= 1)
myplot
提前谢谢你的帮助。
尝试将函数放入提供数据的数据框中。然后你可以使用geom_ribbon
填充两个函数之间的区域。
mydata = data.frame(x=c(0:100),
func1 = sapply(mydata$x, FUN = function(x){20*sqrt(x)}),
func2 = sapply(mydata$x, FUN = function(x){50*sqrt(x)}))
ggplot(mydata, aes(x=x, y = func2)) +
geom_line(aes(y = func1)) +
geom_line(aes(y = func2)) +
geom_ribbon(aes(ymin = func2, ymax = func1), fill = "blue", alpha = .5)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)