我做了一个模型,并计算了它的varImp()。我需要使用不同颜色的条绘制varImp()。我使用了ggplot和下面的代码。但是,我的图的条总是灰色的。我如何将它们改变为随机颜色的彩虹?这些是我的代码
imp <- varImp(rf_final)
cols = rainbow(45, s=.6, v=.9)[sample(1:45,45)]
ggplot(imp)+ geom_bar(stat="identity")+scale_colour_gradientn(colours=cols)
这是我的灰色图像。
2条答案
按热度按时间igsr9ssn1#
您没有看到条形图随
scale_color_gradientn(...)
改变颜色的原因有两个:1.条的颜色Map到
fill
美学,而不是color
(条的轮廓)。因此scale_fill_gradientn()
是合适的。1.填充美感不会Map到打印代码中的任何内容,因此在您更改颜色之前,条形图不会更改颜色。
在这里,您希望将
fill
美学Map到与Map到x
美学的任何内容相同的内容。我不知道您的数据集imp
的结构,所以这里有一个示例:您还可以指定
values= rainbow(45, s=.6, v=.9)[sample(1:45,45)]
来复制OP中的原始绘图代码;然而,其效果将是扰乱彩虹颜色。pcww981p2#
试试看
或者