[R] barplot: segment-wise shading
marc_schwartz at me.com
Thu Jan 16 23:46:24 CET 2014
On Jan 16, 2014, at 12:45 PM, Martin Weiser <weiser2 at natur.cuni.cz> wrote:
> Dear listers,
> I would like to make stacked barplot, and to be able to define shading
> (density or angle) segment-wise, i.e. NOT like here:
> # Bar shading example
> barplot(VADeaths, angle = 15+10*1:5, density = 20, col = "black",
> legend = rownames(VADeaths))
> The example has 5 different angles of shading, I would like to have as
> many possible angle values as there are segments (i.e. 20 in the
> VADeaths example).
> I was not successful using web search.
> Any advice?
> Thank you for your patience.
> With the best regards,
> Martin Weiser
You could do something like this:
# Get the dimensions of VADeaths
 5 4
# How many segments?
Then use that value in the barplot() arguments as you desire, for example:
barplot(VADeaths, angle = 15 + 10 * 1:prod(dim(VADeaths)),
density = 20, col = "black", legend = rownames(VADeaths))
or wrap the barplot() function in your own, which pre-calculates the values and then passes them to the barplot() call in the function.
See ?dim and ?prod
Be aware that a vector (eg. 1:5) will be 'dim-less', thus if you are going to use this approach for a vector based data object, you would want to use ?length
More information about the R-help