Reputation: 634
I've got a basic ASP.NET Charting control set to a pie chart, using the "Bright Pastel" palette and I'd like to link the colours used in the chart to a gridview elsewhere on the page (which is effectively acting as a legend, but will have some more fields in too, once I've got this working).
I can't find anywhere in the control where it references the actual colours used in each section of the pie, all of the BackgroundColor properties are 0. I could manually assign the colours, but it'll really complicate things if I have to do that.
Screenshot if it helps visualise what I'm trying to do:
Upvotes: 1
Views: 2747
Reputation: 2277
Once you have set your series, you can call the method chart1.ApplyPaletteColors() and then check the series[].Color property to determine the color.
chart1.Series.Clear();
chart1.Series.Add(new Series());
chart1.Series.Add(new Series());
Color series1Color = chart1.Series[0].Color;
// Above (Series 1) currently holds {Color [Empty]} || {Name=0, ARGB={0,0,0,0}}
Color series2Color = chart1.Series[1].Color;
// Above (Series 2) currently holds {Color [Empty]} || {Name=0, ARGB={0,0,0,0}}
chart1.ApplyPaletteColors();
Color series1AfterColor = chart1.Series[0].Color;
// Above (Series 1) now holds {Color [A=255, R=65, G=140, B=240]}
Color series2AfterColor = chart1.Series[1].Color;
// Above (Series 2) now holds {Color [A=255, R=252, G=180, B=65]}
These colors will vary depending on the color palette you have set.
To see what color palettes you can set, you can see Alex Gorev's Weblog.
(source: msdn.com)
Source - Alex's blog
He has very helpful posts on .NET charting and I have consulted his blog often, usually from searching for answers to charting questions on google http://blogs.msdn.com/b/alexgor/
Let me know if this does not answer your question enough to complete your task and I will elaborate on any area you ask that I am capable.
Upvotes: 3