[R] using color coded colorbars for bar plots
Jim Lemon
jim at bitwrit.com.au
Sun Dec 2 12:16:28 CET 2007
James.Dell at csiro.au wrote:
> Hi Jim,
> Thanks for getting back to me so quickly.
>
> I did look at color.legend, but that seems to plot colored blocks for
> the observations (in this case the mean) and not for the color.scale
> (which represents variance in this case). Unless there is a
> functionality that I haven't discovered yet. If you have created a
> similar plot and would be happy to share some code I'd be very
> apprecitive.
>
Part of the problem is that you seem to have two names for the same
variable in your code (Standard.Deviance and Standard.Deviation - unless
that was a typo). Notice how I calculate the colors twice, the second
time with a simple integer sequence to get the right number of evenly
spaced colors. In your example, you calculated the colors for
RankVar$Standard.Deviance again, but you don't need all those colors for
the legend, and they're in the wrong order anyway. What is generally
wanted for a color legend is the minimum and maximum values on the ends
and a few linear interpolations in the middle.
barplot(RankVar$MeanDecreaseAccuracy,
col=color.scale(RankVar$Standard.Deviance,
c(0,1,1),c(1,1,0),0),
ylab = "Variable Importance",
names.arg = rownames(RankVar),
cex.names = .7,
main = "Variables from RandomFishForest",
sub= "Mean Decrease in Accuracy")
col.labels<- c("Low","Mid","High")
color.legend(6,13,11,14,col.labels,
rect.col=color.scale(1:5,c(0,1,1),c(1,1,0),0))
Jim
More information about the R-help
mailing list