Here's some more details on our application, and some screen shots:
We read values from registers in our hardware in real-time and perform a histogram of those registers. As an example, I've created a 2D Bar Chart that represents the values we might read from an 8-bit register. In this demo, instead of reading from our actual hardware, I'm creating Gaussian random data to create a nice bell curve quantized over 256 bars (8-bit, 2^8 = 256). See here:
As a visual cue, I'd also like to highlight the average, like so:
However, I can't just set the bucket to a different fill color when it's created; because we're continuously collecting and processing data, I have to be able to change the bucket that's highlighted as the average on-the-fly, and reset the previously highlighted average to the default fill color.
In addition, often our users will want to perform this histogram analysis on multiple registers at one time (20-30). In order to reduce clutter on the screen, we implement gauges. Imagine the above histogram turned on its edge, where we define the same number of bars in X, with constant height in Y, using colors to represent important values (average, +1 std. deviation, -1 std. deviation, min, max, etc.), like this:
I hope this helps you to understand my application, why I need to be able to dynamically change individual bar color, and if there's some other way to accomplish this if changing individual bar color on-the-fly isn't possible.