轉帖|使用教程|編輯:龔雪|2016-03-01 09:33:30.000|閱讀 1294 次
概述:在上文中,我們為大家介紹了C1Chart的類型。C1Chart圖表是如何展示數據的呢?下面就和小編一起來了解圖表的核心:數據。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
<ComponentOne Studio for WPF下載>
在上文中,我們為大家介紹了C1Chart的類型。C1Chart圖表是如何展示數據的呢?下面就和小編一起來了解圖表的核心:數據。
C1Chart可以綁定到任何一個繼承了System.Collections.IEnumerable接口的對象(比如XmlDataProvider, DataSet, DataView等)。通過設置ItemsSource屬性,就可以將C1Chart控件綁定到datatable。下面介紹將數據傳遞到C1Chart控件的不同的數據綁定方法。
其中一種傳遞數據到圖表的方法,就是使用ValueSource屬性綁定到值集合。任何支持IEnumerable接口的數字集合都可以設置為data series的數據源。在上一節我們提到了data series類型,不同的data series類都有數據綁定的相應屬性。比如,DataSeries類使用ValuesSource屬性做數據綁定。如下面例子所示,綁定的數據源為double類型的數據集合,首先我們需要定義數據源,然后將數據源綁定到C1Chart的DataSeries。分別用C#代碼和XAML代碼演示。
XAML代碼:
<!--Binding Source--> <x:Array x:Key="array" Type="System:Double"> <System:Double>1</System:Double> <System:Double>4</System:Double> <System:Double>9</System:Double> <System:Double>16</System:Double> </x:Array> <!--Binding Target --> <c1:C1Chart Name="chart" ChartType="Column" > <c1:C1Chart.Data> <c1:ChartData> <c1:DataSeries Label="s1" ValuesSource="{Binding Source={StaticResource array}}"/> </c1:ChartData> </c1:C1Chart.Data> <c1:Legend></c1:Legend> </c1:C1Chart>
如果不使用數據綁定,也可以用Values屬性很容易的實現,只要將值之間用空格分開,具體的代碼如下:
<c1:DataSeries Values="1 2 9 16"/>
這樣的一句代碼就可以替換之前的設置數據源以及數據綁定的操作。另外在cs文件里也可以很容易的實現綁定。
C#代碼:
// Clear previous data chart.Data.Children.Clear(); double[] values = { 1, 4, 9, 16 }; // Create column series chart.Data.Children.Add(new DataSeries() { ValuesSource = values });
以上代碼的具體示例可以參考如下Demo:
如果您有一個對象集合包含數字屬性,就可以使用數據綁定。這時涉及到至少兩個屬性:
我們假定有一個序列點集,然后圖表展示它的數據。那么XAML代碼和C#代碼分別如下所示:
XAML代碼:
<x:Array x:Key="points" Type="Point"> <Point>0,0</Point> <Point>10,0</Point> <Point>10,10</Point> <Point>0,10</Point> <Point>5,5</Point> </x:Array> </Window.Resources> <!--Binding Target --> <c1:C1Chart Name="chart" ChartType="Column" > <c1:C1Chart.Data> <c1:ChartData ItemsSource="{Binding Source={StaticResource points}}"> <c1:DataSeries Label="s1" ValueBinding="{Binding Path=X}"/> <c1:DataSeries Label="s2" ValueBinding="{Binding Path=Y}"/> </c1:ChartData> </c1:C1Chart.Data> </c1:C1Chart>
如果使用將上述代碼在cs文件里描述,可以使用下面代碼來替換:
C#代碼:
//Clear chart data chart.Data.Children.Clear(); //Create dummy data points.Add(new Point(0, 20)); points.Add(new Point(1, 22)); points.Add(new Point(2, 19)); points.Add(new Point(3, 24)); points.Add(new Point(4, 29)); points.Add(new Point(5, 7)); points.Add(new Point(6, 12)); points.Add(new Point(7, 15)); //Setup C1Chart data series XYDataSeries ds = new XYDataSeries(); ds.Label = "Series 1"; //Bind data series to collection ds.ItemsSource = points; //Important to set binding when using ItemsSource ds.ValueBinding = new Binding("Y"); ds.XValueBinding = new Binding("X"); //Add data series to chart chart.Data.Children.Add(ds);
上述代碼的示例如下所示:
在這個示例中,我們創建了2個data series,并且一個綁定到鼠標的X,另一個綁定到鼠標的Y。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網