سؤال

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:

هل كانت مفيدة؟

المحلول

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.

From Alexs Blog
(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.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top