预定义的颜色数量可以比饼图的分区多,多余的不会显示到饼图中。
- private void _7498_Pie_Load(object sender, EventArgs e)
- {
- // 预定义一些颜色,颜色数量可能会比饼图的分区数量要多,多余的不会显示到饼图中
- string colors = "#ffbb22,#ff9911,#aacc33,#aabbbb,#bb0033,#00cc33,#990099,#0011aa,#14D0EE,#B17EC3,#E67F16,#EE5907,#6A2DA1,#0A35F0,#A816D7,#D218AD,#EE0A96,#5A4DAE,#ACE9D9";
- // 取出Spread中的第一个图表
- SpreadChart chart0 = fpSpread1.ActiveSheet.Charts[0];
- // 对所有系列的填充方案进行修改
- foreach (PieSeries series in chart0.Model.PlotAreas[0].Series)
- {
- // 饼图各个区域的现有填充方法
- FillCollection fc = series.PieFills;
- // 根据上面定义的颜色创建饼图的新填充方法
- List<SolidFill> list = new List<SolidFill>();
- foreach (var color in colors.Split(new char[] { ',' }))
- {
- list.Add(new SolidFill(ColorTranslator.FromHtml(color)));
- }
- // 清除现有的填充颜色
- fc.Clear();
- // 添加新的填充颜色
- fc.AddRange(list.ToArray());
- }
- }
复制代码 |