c # devexpress круговая диаграмма серии изменение цвета - PullRequest
2 голосов
/ 05 декабря 2011

Я сделал динамическую трехмерную круговую диаграмму, используя devexpress. Я действительно впечатлен тем, насколько хороша функция управления. Я немного ударил вниз, хотя. Мне бы хотелось, чтобы точки моей круговой диаграммы имели разные цвета, которые я установил в коде (это позже будет изменено пользователем, использующим какую-либо форму паллета или комбинированного окна, пока не уверен). К сожалению, я не могу получить цветовой метод для точек моего ряда данных.

Вот код, исключающий массу закомментированных попыток:

Series series1 = new Series("Series1", ViewType.Pie3D);

        chartControl2.Series.Add(series1);

        series1.DataSource = chartTable;
        series1.ArgumentScaleType = ScaleType.Qualitative;
        series1.ArgumentDataMember = "names";
        series1.ValueScaleType = ScaleType.Numerical;
        series1.ValueDataMembers.AddRange(new string[] { "Value" });

        //series1.Label.PointOptions.PointView = PointView.ArgumentAndValues;
        series1.LegendPointOptions.PointView = PointView.ArgumentAndValues;
        series1.LegendPointOptions.ValueNumericOptions.Format = NumericFormat.Percent;
        series1.LegendPointOptions.ValueNumericOptions.Precision = 0;

        // Adjust the value numeric options of the series.
        series1.Label.PointOptions.ValueNumericOptions.Format = NumericFormat.Percent;
        series1.Label.PointOptions.ValueNumericOptions.Precision = 0;

        // Adjust the view-type-specific options of the series.
        ((Pie3DSeriesView)series1.View).Depth = 20;
        ((Pie3DSeriesView)series1.View).ExplodedPoints.Add(series1.Points[0]);
        ((Pie3DSeriesView)series1.View).ExplodedPoints.Add(series1.Points[1]);
        ((Pie3DSeriesView)series1.View).ExplodedPoints.Add(series1.Points[2]);
        ((Pie3DSeriesView)series1.View).ExplodedPoints.Add(series1.Points[3]);
        ((Pie3DSeriesView)series1.View).ExplodedDistancePercentage = 20;

        chartControl2.Legend.Visible = true;

Так что мне нужно что-то вроде chartcontrol2.series1.point [0] .color = color.blue; как то так.

Ответы [ 2 ]

4 голосов
/ 05 декабря 2011

Рисование в диаграммах при рисовании точек серии графиков.Для этого вам нужно обработать событие ChartControl.CustomDrawSeriesPoint, а затем изменить некоторые параметры чертежа, используя его аргументы событий.

проверить эти события, чтобы сделать вашу функцию ..

Как сделать: Пользовательские точки серии Paint

Событие ChartControl.CustomDrawSeries

0 голосов
/ 05 декабря 2011

Вам необходимо определить палитру диаграмм или использовать существующую, определенную DevExpress. Посмотреть это

http://documentation.devexpress.com/#XtraCharts/CustomDocument7434

...