如何使用R中的颜色渐变曲线绘制曲线。请看这个火焰。R图 - 具有颜色梯度的正态曲线
它应该看起来像那样。我试图制作一条正常曲线,然后是另一条正常曲线,但从技术上说,不能用一串正常曲线制作这样一个图形,因为它们不会在任何一边的正确位置下降并相交。我怎么能在R中做出这样的数字?有任何想法吗?
如何使用R中的颜色渐变曲线绘制曲线。请看这个火焰。R图 - 具有颜色梯度的正态曲线
它应该看起来像那样。我试图制作一条正常曲线,然后是另一条正常曲线,但从技术上说,不能用一串正常曲线制作这样一个图形,因为它们不会在任何一边的正确位置下降并相交。我怎么能在R中做出这样的数字?有任何想法吗?
我已经能够到目前为止做的最好的是:
par(bg="black")
plot(seq(0.15,0.85,by=0.01),
5*dbeta(seq(0.15,0.85,by=0.01),10,10),
type="l" , ylim=c(0,700)) # this just sets up the plotting framework.
for(i in 1:200) { lines(x= seq(0.15,0.85,by=0.01),
y= i*dbeta(seq(0.15,0.85,by=0.01),10,10),
col= colorRampPalette(c("yellow", "orange", "red", "hotpink",
"violet", "blue", "lightblue", "lightgreen", "darkgreen",
"black"))(200)[i],
lwd=13) }
par(bg="white")
我也发现,把“黑”色的该系列的开头添加一个额外的“发光”的总体结果,但我不会发布该结果。
这是我开始,然后有逐次逼近和调整,下面出现:
plot(seq(0.15,0.85,by=0.01), 5*dbeta(seq(0.15,0.85,by=0.01),10,10),
type="l" , ylim=c(0,100))
for(i in seq(0.2, 5)) { lines(seq(0.15,0.85,by=0.01),
i*5*dbeta(seq(0.15,0.85,by=0.01),10,10)) }
对于颜色:
plot(seq(0.15,0.85,by=0.01), 5*dbeta(seq(0.15,0.85,by=0.01),10,10), type="l" ,
ylim=c(0,130))
for(i in 1:35) {lines(seq(0.15,0.85,by=0.01), i*dbeta(seq(0.15,0.85,by=0.01), 10,10),
col=colorRampPalette(c("yellow", "orange", "red", "violet",
"blue", "lightblue", "lightgreen"))(35)[i],
lwd=3) }
对于黑色背景和更密集的颜色和在顶部的褪色为黑色:
par(bg = 'black')
plot(seq(0.15,0.85,by=0.01), 5*dbeta(seq(0.15,0.85,by=0.01),10,10), type="l",
ylim=c(0,130))
for(i in 1:35) { lines(seq(0.15,0.85,by=0.01), i*dbeta(seq(0.15,0.85,by=0.01),10,10),
col=colorRampPalette(c("yellow", "orange", "red", "violet",
"blue", "lightblue", "lightgreen", "darkgreen",
"black")) (35)[i],
lwd=13) }
我注意到衰落成黑色方面还控制线宽在两侧。我一直没有想到,但它似乎是一个理想的功能。这里没有提到的另一个方面是增加透明度的可能性。 R RGB函数中有一个alpha参数。
一个寻找色彩有用的技巧绰号:
grep("purple", colors(), value=TRUE)
[1] "mediumpurple" "mediumpurple1" "mediumpurple2" "mediumpurple3" "mediumpurple4"
[6] "purple" "purple1" "purple2" "purple3" "purple4"
如果您正在使用迭代玩,使渐变平滑那么,您还需要调整ylim说法:选择0.5^9 * 0.5^9/beta(10,10)* [迭代],因为那将是x = 0.5时的最大值。
我选择了beta版本,因为它支持[0.1]。您可以通过修改a和b参数来使其成为“高峰”。只要你保持一致,你就保持对称,但是如果你想要一个“吹到一边或另一边”的火焰,你可以让它们不同。 – 2013-02-21 23:19:13