Найти цвет, назначенный точке в круговой диаграмме ASP.NET при использовании палитр
У меня есть базовый элемент управления ASP.NET Charting, представляющий собой круговую диаграмму с использованием палитры "Яркая пастель", и я хотел бы связать цвета, используемые в диаграмме, с сеткой в другом месте на странице (которая фактически действует как легенда, но у меня будет еще несколько полей, как только у меня получится).
Я не могу найти нигде в элементе управления, где он ссылается на фактические цвета, используемые в каждом разделе пирога, все свойства BackgroundColor равны 0. Я мог бы вручную назначить цвета, но это действительно усложнит вещи, если мне придется сделать тот.
Скриншот, если он помогает визуализировать то, что я пытаюсь сделать:
1 ответ
После того, как вы установили свою серию, вы можете вызвать метод chart1.ApplyPaletteColors() и затем проверить свойство series[].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]}
Эти цвета будут варьироваться в зависимости от выбранной вами цветовой палитры.
Чтобы увидеть, какие цветовые палитры вы можете установить, вы можете посмотреть блог Алекса Горева.
Из блога Алекса http://blogs.msdn.com/blogfiles/alexgor/WindowsLiveWriter/SettingChartSeriesColors_7C0/ChartPalettes_thumb.png Источник - блог Алекса
У него есть очень полезные сообщения о графике.NET, и я часто обращался к его блогу, обычно от поиска ответов на вопросы графика в Google http://blogs.msdn.com/b/alexgor/
Дайте мне знать, если это не ответит на ваш вопрос достаточно, чтобы выполнить вашу задачу, и я подробно остановлюсь на любой области, которую вы спрашиваете, на которую я способен.