轉帖|使用教程|編輯:龔雪|2016-02-25 09:20:45.000|閱讀 361 次
概述:在上文中,我們介紹了您感興趣的C1Chart,從最基本的引用和添加到它的組成部分講起。在本文中,我們將為您介紹介紹每一個組成部分,應該如何使用C#和XAML代碼添加。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
<ComponentOne Studio for WPF下載>
在上文中,我們介紹了您感興趣的C1Chart,從最基本的引用和添加到它的組成部分講起。在本文中,我們將為您介紹介紹每一個組成部分,應該如何使用C#和XAML代碼添加。
C1Chart有很多的類型,具體我們將在今后的教程中做介紹。就本文來講,使用的是C1Chart的Column類型。從代碼層面,該類型的設置方法如下:
XAML代碼:
在"c1chart:C1Chart"標記里,使用XAML代碼設置ChartType屬性為Column。
C#代碼:
相應的,在cs文件里,通過C#代碼也可以達到同樣的效果,代碼參考:
c1Chart1.ChartType = ChartType.Column;
為了在圖表上顯示一組或多組數據,需要添加一個或多個data series到chart.Data.Children集合。比如本圖中共有Revenue、Expense和Profit三組數據,因此添加三個data series到chart.Data.Children。如果數據包含唯一的數字類型的值,比如本圖所示在Y軸是數字類型的值,那么就可以使用標準的DataSeries類。如果數據包含兩組數字值(X和Y軸),那么就是用XYDataSeries類替代。
給C1Chart添加數據可以使用XAML代碼或是C#代碼。
XAML代碼:
<c1:C1Chart.Data> <c1:ChartData ItemNames="North East West South"> <c1:DataSeries Label="Revenue" RenderMode="Default" Values="1200 1250 400 1450"/> <c1:DataSeries Label="Expense" RenderMode="Default" Values="400 300 300 200"/> <c1:DataSeries Label="Profit" RenderMode="Default" Values="800 950 150 1250"/> </c1:ChartData> </c1:C1Chart.Data>
C#代碼:
// Clear previous data c1Chart1.Data.Children.Clear(); //Add item names string[] names = new string[] { "North", "East", "West", "South" }; c1Chart1.Data.ItemNames = names; //Add data DataSeries ds1 = new DataSeries(); int[] yValue1 = { 1200, 1250, 400, 1450 }; ds1.Label = "Revenue"; ds1.ValuesSource = yValue1; c1Chart1.Data.Children.Add(ds1); DataSeries ds2 = new DataSeries(); int[] yValue2 = { 400, 300, 300, 200 }; ds2.Label = "Expense"; ds2.ValuesSource = yValue2; c1Chart1.Data.Children.Add(ds2); DataSeries ds3 = new DataSeries(); int[] yValue3 = { 800, 950, 150, 1250 }; ds3.Label = "Profit"; ds3.ValuesSource = yValue3; c1Chart1.Data.Children.Add(ds3);
ItemNames屬性:用來設置Item的名稱。圖中每組數據都有4個相同的Item名稱,分別是:"North East West South"。通過ChartData.ItemNames屬性就可以設置。
Label屬性:每個Data series下都有Label屬性,用來指定每一組數據的標簽。
C1Chart上有X軸和Y軸,如果想自定義軸,需要添加ChartView類。ChartView類代表包含數據和軸在內的區域。
軸標題:軸標題不僅僅可以展示簡單的文字,圖中所示的是使用TextBlock元素來展示X軸和Y軸的標題。另外一旦添加了TextBlock元素,可以改變字體和文字的方向。
XAML代碼:
<c1:C1Chart.View> <c1:ChartView> <c1:ChartView.AxisX> <c1:Axis> <c1:Axis.Title> <TextBlock Text="Region" FontSize="24" FontWeight="Bold" TextAlignment="Left"/> </c1:Axis.Title> </c1:Axis> </c1:ChartView.AxisX> <c1:ChartView.AxisY> <c1:Axis AnnoFormat="n0"> <c1:Axis.Title> <TextBlock Text="Amount($1000)" FontSize="24" FontWeight="Bold" TextAlignment="Center"/> </c1:Axis.Title> </c1:Axis> </c1:ChartView.AxisY> </c1:ChartView> </c1:C1Chart.View>
AnnoFormat:可以給Y軸設置格式,比如上述代碼通過設置AnnoFormat為n0,設置Y軸的的數字包含千分號。這些對X軸和Y軸的設置,都可以寫在<c1chart:Axis></c1chart:Axis>標記里。另外上述代碼也可以使用C#代碼,寫在cs文件里。
C#代碼:
c1Chart1.View.AxisX.Title = new TextBlock() { Text = "Region", FontSize = 24, FontWeight=FontWeights.Bold, TextAlignment = TextAlignment.Left }; c1Chart1.View.AxisY.Title = new TextBlock() { Text = "Amount($1000)", FontSize = 24, FontWeight = FontWeights.Bold, TextAlignment = TextAlignment.Center }; c1Chart1.View.AxisY.AnnoFormat = "n0";
Gridline畫在C1Chart的一組水平或豎直方向的線。它能夠幫助你準確的讀取圖表的值,查看接近線的值。可以使用MajorGridStroke/MinorGridStroke屬性來設置major/minor的線。線的粗細,顏色,線型都是可以設置的。圖中在<c1chart:Axis></c1chart:Axis>標記里設置了MajorGridStrokeThickness為1。或是在cs文件里通過C#代碼實現:
c1Chart1.View.AxisX.MajorGridStrokeThickness = 1; c1Chart1.View.AxisY.MajorGridStrokeThickness = 1;
如果要調整Chart的顏色,有兩種方式:Theme和Palette屬性。Theme允許使用超過10種的內置顏色方案。Palette屬性允許給data series設置特定的顏色,它內置超過20種顏色,還可以進行自定義。在XAML中,是將Palette="Solstice"寫在<c1:c1chart><c1:c1chart>標記內。
C#代碼:
c1Chart1.Palette = ColorGeneration.Solstice;
這時不管通過C#代碼或是XAML代碼我們都可以得到如下圖所示的圖表:
如果更改Theme,可以采用如下的代碼快速設置:
// Set theme c1Chart.Theme = _c1Chart.TryFindResource(new ComponentResourceKey(typeof(C1.WPF.C1Chart.C1Chart),"Office2007Black")) as ResourceDictionary;}
本文示例下載:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網