C1Chart for WPF初级教程-数据。和数据源相关的那些事(二)

我们在第一部分数据。和数据源相关的那些事(一)中讨论了数据源是值集合和对象集合的时候,如何使用C1Chart进行数据绑定。接下来,我们就接着之前的内容,在上个示例的基础上,进行进一步的深入研究。本部分讲述数据源是Ovservable集合的时候,如何进行数据绑定。以及如何动态绑定图表序列。

C1Chart for WPF初级教程-类型。穿Prada的女王(下)

在本章的上半部分类型。穿Prada的女王(上),我们主要介绍了图表的类型,让你了解丰富多彩的C1Chart图表。下面我们就开始深入介绍一些特殊的图表类型,并且结合DataSeries来介绍如何设置这些图标类型。最后再介绍一种复合图表。

C1Chart for WPF初级教程-类型。穿Prada的女王(上)

C1Chart的类型就像是她的衣服,她可以通过更改类型变换不同的样式。本章就跟着我就来了解C1Chart的图表类型,无论她换什么样的衣服,你都知道,哦,那就是她——C1Chart for WPF。

C1Chart for WPF初级教程-初遇。Getting Started(上)

C1Chart for WPF初级教程-初遇。Getting Started(上)本章上半部分着重介绍如何添加C1Chart以及C1Chart的各部分组成结构。

C1Chart for WPF初级教程-初遇。Getting Started(下)

C1Chart for WPF初级教程-初遇。Getting Started(下)本章上半部分着重介绍如何添加C1Chart以及C1Chart的各部分组成结构。下半部分就重点介绍如果和使用C#和XAML代码完成组成部分的设置。

C1Chart如何更改Color Palette

C1Chart控件在XAML平台下包含了22种定义好的color palettes。这些palettes可以使用设置PlotArea元素的样式。至需要设置C1Chart的Palette属性,就可以简单的实现。

C1Chart在WinForm平台下的同步(一):滚动条同步

在WinForm平台下,如果有两个相同的C1Chart,如何保持两者在运行时候的同步呢?在接下来的一系列文章,我们专门讨论C1Chart的同步。首先就先来介绍滚动条同步。在文章的最后,有本文所用到的Demo,本文介绍的都是再此基础上进行同步讨论。首先,在设计界面拖拽两个C1Chart,保持大小和位置的一致,以及给两个C1Chart导入相同的数据。代码参考:c1Chart1.SaveChartToFile("Chart1_Data.xml");c1Chart2.LoadChartFromFile("Chart1_Data.xml");接着,C1Chart的滚动条在默认情况下是不显示的,因此需要通过代码或是设计界面将其显示出来。代码参考:this.c1Chart1.ChartArea.AxisX.ScrollBar.Visible = true; this.c1Chart1.ChartArea.AxisY.ScrollBar.Visible = true; this.c1Chart2.ChartArea.AxisX.ScrollBar.Visible = true; this.c1Chart2.ChartArea.AxisY.ScrollBar.Visible = true;其次,调用ScrollBar.AxisScroll事件,当轴的滚动条发生滚动,会触发该事件。

C1Chart在WinForm平台下的同步(二):缩放同步

在上篇文章中,我们讨论了C1Chart在WinForm平台下的同步(一):滚动条同步,我们讨论了如何在运行时保持两个C1Chart的滚动条同步。本文就在上篇文章的基础上,继续深入讨论在WinForm平台下,保持两个图表缩放的同步。同样的,在文章的最后,会附上本文所用到的Demo。首先,都是一样的,在设计界面拖拽两个C1Chart,保持大小和位置的一致,以及给两个C1Chart导入相同的数据。代码参考:c1Chart1.SaveChartToFile("Chart1_Data.xml");c1Chart2.LoadChartFromFile("Chart1_Data.xml");接着,设置C1Chart的交互,将Interaction.Enable属性设置为true。确保在C1Chart缩放行为可用。代码参考: c1Chart1.Interaction.Enabled = true; c1Chart1.Interaction.Actions["Zoom"].Modifier = Keys.None; c1Chart1.Interaction.Actions["Scale"].Modifier = Keys.Control; c1Chart1.Interaction.Actions["Translate"].Modifier = Keys.Shift; c1Chart1.Interaction.Actions["Rotate"].Modifier = Keys.Alt; c1Chart2.Interaction.Enabled = true; c1Chart2.Interaction.Actions["Zoom"].Modifier = Keys.None; c1Chart2.Interaction.Actions["Scale"].Modifier = Keys.Control; c1Chart2.Interaction.Actions["Translate"].Modifier = Keys.Shift; c1Chart2.Interaction.Actions["Rotate"].Modifier = Keys.Alt;然后,通过LayoutLabels事件,获取其中一个的ScrollBar的Scale,赋值给另一个C1Chart。

C1Chart在WinForm平台下的同步(三):TriangleMarker同步

在上面的两篇文章中,我们分别讨论了C1Chart在WinForm平台下的同步(一):滚动条同步和C1Chart在WinForm平台下的同步(二):缩放同步,我们讨论了如何在运行时保持两个C1Chart的滚动条同步和缩放同步。本文是本系列的最后一篇,在前两个的基础上,继续深入讨论在WinForm平台下,保持拖拽标签Mark的同步。同样的,在文章的最后,会附上本文所用到的Demo。首先,都是一样的,在设计界面拖拽两个C1Chart,保持大小和位置的一致,以及给两个C1Chart导入相同的数据。代码参考:c1Chart1.SaveChartToFile("Chart1_Data.xml");c1Chart2.LoadChartFromFile("Chart1_Data.xml"); 接着,给C1Chart添加X轴的ValueLabel,让其显示成可移动的带三角标的Marker的样子,如图: 红色竖直带三角符号的线就是我们需要的Marker。有客户问,这条线是如何添加上去的,有没有内置的接口。其实,这就是我们经常用到的AxisX的ValueLabels,只是将其Appearance设置为TriangleMarker,并且将Moveable设置为true,这样就可以在X轴上显示一条Marker的线。注意:要将AxisX.AnnoMethod 属性设置为AnnotationMethodEnum.Mixed,我们设的Marker线才能显示出来。代码参考: this.c1Chart1.ChartArea.AxisX.ValueLabels.Add(1, "Marker"); this.c1Chart1.ChartArea.AxisX.ValueLabels[0].Appearance = ValueLabelAppearanceEnum.TriangleMarker; this.c1Chart1.ChartArea.AxisX.ValueLabels[0].Moveable = true; this.c1Chart1.ChartArea.AxisX.ValueLabels[0].GridLine = true; this.c1Chart1.ChartArea.AxisX.ValueLabels[0].Color = Color.Red; c1Chart1.ChartArea.AxisX.AnnoMethod = AnnotationMethodEnum.Mixed; 同样,通过LayoutLabels事件,获取其中一个的ValueLabel的NumericVaue,赋值给另一个C1Chart。

Winforms平台下创建Chart的可移动Y轴提示

在Winforms平台下,C1Chart支持了tooltips。本文就在这个基础上讨论如何通过图表的tooltip展示可移动Y轴。实现是非常简单的。我们需要获取数据点,然后在图表上创建一个仿Y轴。为了实现这个,当鼠标在图表移动的时候,我们首先需要获取鼠标的位置。我们使用Chart的Move事件来存储X/Y的位置。代码参考如下:private void c1Chart1_MouseMove(object sender, MouseEventArgs e){ X = e.X; Y = e.X; Invalidate(true);}