Consider the following:
fakedata = RandomReal[{4, 9}, {5, 10}];
BarChart[fakedata, BarSpacing -> {0, 0.4},
ChartBaseStyle -> EdgeForm[],
ChartStyle -> {{Magenta, Blue, Red, Orange, Green}, Opacity[#] & /@ Range[0.1, 1, 0.1]}]

This is all well and good, but what I really want is the following, but grouped, so that the bars are opaque, the ticks come out how I want them, and the little space in between the groups (from the BarSpacing option) shows up:
BarChart[Flatten@fakedata, BarSpacing -> {0, 0.4},
ChartBaseStyle -> EdgeForm[],
ChartStyle ->
Flatten@Outer[Blend[{{0, White}, {0.7, #1}, {1.1, Black}}, #2] &, {Magenta,
Blue, Red, Orange, Green}, Range[0.1, 1, 0.1]]]

Unfortunately if I create a "matrix" of colours as the value of the ChartStyle option, only the second list is picked up, and I get this:
BarChart[fakedata, BarSpacing -> {0, 0.4},
ChartBaseStyle -> EdgeForm[],
ChartStyle -> Outer[Blend[{{0, White}, {0.7, #1}, {1.1, Black}}, #2] &, {Magenta,
Blue, Red, Orange, Green}, Range[0.1, 1, 0.1]]]

How can I style my bars individually like in the second example, when the data are grouped?


MapThread[ Style[#1, #2] &, {fakedata52, Outer[Blend[{{0, White}, {0.7, #1}, {1.1, Black}}, #2] &, {Magenta, Blue, Red, Orange, Green}, Range[0.1, 1, 0.1]]}, 2]. It's worth pointing out that if you have a custom function that uses the data anywhere (e.g. calculated theMaxandMinto work out ticks, you can't just pass theStyled data to the function. You'd need to create aSpecialStylestype option to that function, and combine the styles and data together in the charting function. – Verbeia Feb 12 '13 at 22:24Ticks,Gridlines... functions andStyle-wrapped data in the first argument of a_Chart/_Plotfunction, such custom functions seem to work fine withBarChart(and, possibly others, especially those that officially accept wrappers on the data). For example, I triedGridLines -> (Join @@ {Thread[{Range[#1, #2, 10], Thick}, List, 1], {{#2/2, Thick}, 8}} &)andFrameTicks -> (Range[#1/2, #2, (#2 - #1)/5] &)and both work as expected. – kglr Feb 13 '13 at 00:08Min,MaxandFindDivisionsdon't handle style-wrapped data so my custom ticks functions don't currently work :) – Verbeia Feb 13 '13 at 01:57CurrentValue["Color"]? +2 if I could. – Mr.Wizard Feb 24 '13 at 10:36CurrentValue["Color"]from this answer by Yu-sung Chang. – kglr Feb 24 '13 at 10:50