彩票走势图

C1Chart for WPF初级教程:数据(一)

转帖|使用教程|编辑:龚雪|2016-03-01 09:33:30.000|阅读 1216 次

概述:在上文中,我们为大家介绍了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:

对象集合

如果您有一个对象集合包含数字属性,就可以使用数据绑定。这时涉及到至少两个属性:

  • ItemsSource属性:分配对象的集合。
  • ValueBinding属性:获取或设置图表data series的值绑定。指定对象属性提供数据值。

我们假定有一个序列点集,然后图表展示它的数据。那么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。

PS: 关于ComponentOne,这些产品你可以关注>>
本文转载自
葡萄城经典UI产品惠风迎春,惊喜折扣礼品送不停!优惠详情点击查看>>

标签:WPFComponentOne

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:慧都控件网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP