2016-10-07 26 views
0

给定一组值:分配值相关的色彩梯度以禁止在R基本情节

x<-sort(100*round(runif(10, 0.0, 1.0), digits=2)) 

()调色板可以用于颜色分配给一个柱状图的每个条的一个函数的彩虹的条的总数:

barplot(x,col=rainbow(length(x))) 

example

有一个简单的解决方案,从彩虹色调色板由每个条表示的值的函数分配的颜色,从而使克罗ser值会有更多相似的颜色?

+3

你可以创建一个使用'palFun <一个调色板功能 - colorRampPalette(彩虹(长度(X)))'然后'barplot(X, col = palFun(max(x))[x])或barplot(x,col = palFun(diff(range(x))+ 1)[x-min(x)+1])。 – lukeA

+0

感谢您思考即使矢量包含负值也能正常工作的内容。如果您将此作为答案发布,我可以将其视为已接受的解决方案:) – biohazard

回答

0

例如,你可以做

set.seed(1) 
x <- sort(100*round(runif(10, 0.0, 1.0), digits=2)) 

palFun <- colorRampPalette(rainbow(length(x))) 
barplot(x,col=palFun(diff(range(x))+1)[x-min(x)+1], names.arg = x) 

enter image description here