我使用devexpress制作了动态3d饼图。控制功能有多好让我印象深刻。尽管如此我还是有点沮丧。 我希望我的饼图点具有我在代码中设置的不同颜色(稍后用户将使用某种形式的托盘或组合框更改,但尚不确定)。不幸的是,我似乎无法获得我的数据系列中的点的颜色方法。
这是代码,不包括大量已注释的尝试:
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;像这样的东西。
答案 0 :(得分:4)
绘制图表的系列点时绘制图表。为此,您应该处理ChartControl.CustomDrawSeriesPoint事件,然后您可以使用其事件参数更改某些绘图参数。
检查这些事件以确定您的功能..
答案 1 :(得分:0)
您需要定义图表Palette或使用DevExpress定义的现有图表。见这个
http://documentation.devexpress.com/#XtraCharts/CustomDocument7434