自定義餅圖(PieChart)各個PieSlice的外觀

C1Chart提供了Theme和Palette接口,其中內置了不少配色方案,調整外觀。 c#


<c1chart:C1Chart Margin="0,0,8,8" MinHeight="160" MinWidth="240" Content="C1Chart" ChartType="Bar" ThemeOffice2007Blue">
C1Chart1.Theme = c1Chart1.TryFindResource(
 
   new ComponentResourceKey(typeof(C1.WPF.C1Chart.C1Chart),
 
   "Office2007Blue")) as ResourceDictionary;

可是當這些內置配色沒法知足需求時,須要自定義各個PieSlice的顏色,這時咱們有兩個方案: this

方案一:

總體修改各個PieSlice使用的Brush,代碼以下: spa

this.c1Chart1.Palette = ColorGeneration.Default;
 
Brush[] customBrushes = new Brush[5] { Brushes.Blue, Brushes.Orange, Brushes.Yellow, Brushes.Red,Brushes.Purple };
this.c1Chart1.CustomPalette = customBrushes;

注意:此時Palette必須設置爲Default。以下圖所示: code

image

 

方案二:

若是僅僅對原有方案的某一個PieSlice進行修改,則不須要指定全部Brush,僅僅對特定Slice進行修改便可,代碼以下: component

private void DataSeries_PlotElementLoaded(object sender, EventArgs e)
{
    PieSlice pieSlice = (sender as PieSlice);
    switch (pieSlice.DataPoint.Name)
    {
        case "P1":
            pieSlice.Fill = Brushes.SeaGreen;
            pieSlice.Offset = 10;
            break;
        default:
            break;
    }
}

爲了增長點效果,修改了pieSlice的Offset屬性,效果以下: orm

 

image

使用控件下載地址: 點擊下載
相關文章
相關標籤/搜索