我想知道是否可以用多种颜色填充点.例如,在散点图中,我想看到每个点上半部分都填充了某种颜色,而下半部分填充了不同的颜色.如果可能的话,我还想在一些基础数据的每个点映射中建立填充颜色对(例如,如果数据取x的值,则为某些类型的配对).到目前为止,我已经考虑过用两次日食绘制两次并分别填充,但没有运气.如果有人能提供帮助我真的很感激.
谢谢!
我想生成一个二维颜色渐变矩形,如右下图所示.我怎么能在R中这样做?使用colorRamp或RColorBrewer或其他功能/包我可以生产漂亮的1D dolor坡道.但是我如何为2D做这个,包括角落里的几种颜色,比如右上方的矩形?

我想得到的是例如以下两种渐变类型:

BTY:我完全忘了提到我在这里找到了上面的图表(由Luca Fenu制作).
我使用下面的R代码来构建气泡图.
pdf(file='myfigure.pdf',height=10,width=13)
y<-c(123,92,104,23,17,89,13)
x<-c(11,45,24,50,18,7,2)
size<-c(1236,1067,1176,610,539,864,1026)
radius<-sqrt(size/pi)
col<-c(2,2,3,4,5,5,6)
name<-c("Acura", "Alfa Romeo","AM General","Aston Martin Lagonda","Audi","BMW","Bugatti")
symbols(x,y, circles=radius,fg="white",bg=col,ylim=c(-20,140))
text(x, y, name, cex=1.5,font=4)
dev.off()
Run Code Online (Sandbox Code Playgroud)
但是我想要带有3D表面的气泡,比如渐变填充和阴影.如下图所示.

任何人都知道如何使用R来释放它?谢谢!
感谢所有的建议.最后,我尝试了一种愚蠢的方式,从黑暗到光线绘制多个圆圈,使其渐变填充.有什么建议让它更好吗?谢谢!

makeTransparent<-function(someColor, alpha)
{
newColor<-col2rgb(someColor)
apply(newColor, 2, function(curcoldata){rgb(red=curcoldata[1], green=curcoldata[2], blue=curcoldata[3],alpha=alpha,maxColorValue=255)})
}
pdf(file='myfigure.pdf',height=10,width=13)
y<-c(123,92,104,23,17,89,13)
x<-c(11,45,24,50,18,7,2)
size<-c(1236,1067,1176,610,539,864,1026)
radius<-sqrt(size/pi)
col<-c(2,2,3,4,5,5,6)
name<-c("Acura", "Alfa Romeo","AM General","Aston Martin Lagonda","Audi","BMW","Bugatti")
x2<-c()
y2<-c()
circles<-c()
bg<-c()
fg<-c()
num<-30
radius_min<-0.3
alpha_min<-40
alpha_max<-180
for (i in 1:num){
x2<-c(x2,x)
y2<-c(y2,y)
circles<-c(circles,radius*(radius_min+(i-1)*(1-radius_min)/num))
bg<-c(bg,makeTransparent(col,alpha=alpha_max-(i-1)*(alpha_max-alpha_min)/num))
if(i!=num){fg<-c(fg,makeTransparent(col,alpha=alpha_max-(i-1)*(alpha_max-alpha_min)/num))}else{fg<-c(fg,rep('white',length(x)))}
}
symbols(x2,y2,circles=circles,fg=fg,bg=bg)
text(x, y, name, cex=1.5,font=4)
dev.off()
Run Code Online (Sandbox Code Playgroud) 如何用渐变色填充下方(sp)线以下的区域?
这个例子是在Inkscape中绘制的 - 但我需要垂直渐变 - 不是水平的.
从零到正的间隔==从白色到红色.
从零到负的间隔==从白色到红色.

有没有可以做到这一点的包?
我编造了一些源数据....
set.seed(1)
x<-seq(from = -10, to = 10, by = 0.25)
data <- data.frame(value = sample(x, 25, replace = TRUE), time = 1:25)
plot(data$time, data$value, type = "n")
my.spline <- smooth.spline(data$time, data$value, df = 15)
lines(my.spline$x, my.spline$y, lwd = 2.5, col = "blue")
abline(h = 0)
Run Code Online (Sandbox Code Playgroud)