是否有一种方法可以在R中填充曲线?

时间:2015-11-25 00:48:56

标签: r plot fill

我熟悉polygonggplot2,但我喜欢使用基本的plot

我想填写命令调用的曲线:

curve(dnorm(x, 0.5, 0.22), xlim=c(-0.5, 1.5))

enter image description here

过去我曾使用polygon我根据先前x的{​​{1}}计算结果来定义终点,例如x <- seq(-0.5, 0.5, len = 100)y <- dnorm(x, 0.5, 0.22)。接下来,限制在polygon内定义,颜色选择,等等......在不到两周的时间内,有颜色......

好的,不是很快,但在这种特殊情况下,我甚至没有在x之外明确定义ycurve,这使得整个过程更加繁琐。这几乎就像是重新开始。

有没有办法快速完成,可能使用fillcolcurve内的其他绘图参数?

1 个答案:

答案 0 :(得分:3)

您可以相对轻松地修改./foo2 —-load-lib /path/to/lib 功能。我所做的唯一改变是:

1)添加curve参数默认为“red”

2)在函数末尾添加fill图(标有注释)

这是行动中的功能。请参阅下面的功能代码。

polygon

enter image description here

我不确定这样做是否更为便利:

my_curve(dnorm(x, 0.5, 0.22), xlim=c(-0.5, 1.5), fill="green")

但是如果你要使用它很多,你可以在你的脚本中找到x=seq(-0.5,1.5,0.01) plot(x, dnorm(x,0.5,0.22), xlim=c(-0.5,1.5), type="l") polygon(x, dnorm(x,0.5,0.22), col="green") 或创建一个新版本的my_curve来掩盖基本版本的包。您还可以选择填充,也可以添加允许部分填充的功能。

如果你对ggplot2的默认值并不狂热,你也可以摆脱它们,同时仍然保留ggplot语法的好处:

curve

以下是修改后的library(ggplot2) df = data.frame(x=seq(-0.5,1.5,0.01), y=dnorm(x,0.5,0.22)) ggplot(df, aes(x,y)) + geom_area(colour="black", fill="red") + theme_bw() + theme(panel.grid=element_blank()) 函数:

curve