跳至正文
首页 » 博客 » New Series Types for the 15.2 UltraDataChart

New Series Types for the 15.2 UltraDataChart

在Windows窗体DataChart已经更新了几个新系列以前看到的XAML。

介绍泡泡、极地、径向和堆叠系列!

气泡系列概述

气泡序列属于使用笛卡尔 (x,y) 坐标系的一组散射序列。与其他类型的分散序列一样,它使用DataSource属性来绑定实现IEnumerable接口的任何数据对象 (例如列表、集合、队列和堆栈)。

气泡系列最低要求

图表绑定到的数据对象的每个项目除了具有两个数值数据列 (用于X和Y值) 之外,还必须具有一个数值数据列 (用于气泡的大小),以便在笛卡尔坐标系中进行绘制。

下面的代码片段演示了如何将示例气泡数据绑定到BubbleSeries。

散点序列将数据显示为数据点的集合。

样品气泡系列

var bubbleDataSample = new BubbleDataSample(); var numericXAxis = new NumericXAxis { Interval = 20,MinimumValue = 0,MaximumValue = 200 };
var numericYAxis = new NumericYAxis { Interval = 20,MinimumValue = 0,MaximumValue = 200};

BubbleSeries series = new BubbleSeries();
series.XAxis = numericXAxis;
series.YAxis = numericYAxis;
series.XMemberPath = “X”;
series.YMemberPath = “Y”;
series.RadiusMemberPath = “Radius”;
ultraDataChart1.Axes.Add(numericXAxis);
ultraDataChart1.Axes.Add(numericYAxis);
ultraDataChart1.Series.Add(series);
series.DataSource = bubbleDataSample;

Polar系列概述

PolarSeries是使用极坐标 (角度,半径) 坐标系而不是笛卡尔坐标系来绘制数据的一组系列。使用散点序列的概念,并提请注意数据的不均匀间隔或群集。它们通常用于绘制科学数据 (例如风向和速度,方向,磁场强度,太阳系中物体的位置),以及突出显示收集的数据与预测结果的偏差。

Polar系列最低要求

与UltraDataChart控件中所有其他类型的系列类似,Polar系列也使用DataSource属性绑定数据。实际上,所有系列都可以绑定到实现IEnumerable接口的任何对象 (例如列表,集合,队列,堆栈)。但是,对于极坐标系列,此对象中的每个项目都必须具有两个数值属性 (用于角度和半径坐标),这些属性将使用AngleMemberPath和RadiusMemberPath属性进行映射。

类型的Polar系列

  • 面积
  • 线
  • 散点
  • 样条曲线
  • 样条区

样品极地面积系列

PolarDataSample = new polarDataSample ();
var numericAngleAxis = new NumericAngleAxis();
var numericRadiusAxis = new NumericRadiusAxis();
this.DataChart.Axes.Add(numericRadiusAxis);
PolarAreaSeries系列 = new polarraeaseries ();
series.DataSource = polarDataSample;
series.AngleMemberPath = “Angle”;
series.RadiusMemberPath = “Radius”;
series.AngleAxis = numericAngleAxis;
series.RadiusAxis = numericRadiusAxis;
this.DataChart.Series.Add(series);

样品极坐标线系列


PolarDataSample = new polarDataSample ();
var numericAngleAxis = new NumericAngleAxis();
var numericRadiusAxis = new NumericRadiusAxis();
此.DataChart.Axes.Add(numericRadiusAxis);
PolarLineSeries系列 = new PolarLineSeries();
series.DataSource = polarDataSample
series.AngleMemberPath = “Angle”;
series.RadiusMemberPath = “Radius”;
series.AngleAxis = numericAngleAxis;
series.RadiusAxis = numericRadiusAxis;
此DataChart.Series.Add(series);

极坐标散射序列样本

PolarDataSample polarDataSample = new PolarDataSample();
var numericAngleAxis = new NumericAngleAxis();
var numericRadiusAxis = new NumericRadiusAxis();
此.DataChart.Axes.Add(numericRadiusAxis);
极散射级数 = new极散射级数 ();
series.DataSource = polarDataSample;
series.AngleMemberPath = “Angle”;
series.RadiusMemberPath = “Radius”;
series.AngleAxis = numericAngleAxis;
series.RadiusAxis = numericRadiusAxis;
此DataChart.Series.Add(series);

样例极坐标样条级数

PolarDataSample polarDataSample = new PolarDataSample();
var numericAngleAxis = new NumericAngleAxis();
var numericRadiusAxis = new NumericRadiusAxis();
此.DataChart.Axes.Add(numericRadiusAxis);
splineseries系列 = 新
series.DataSource = polarDataSample;
series.AngleMemberPath = “Angle”;
series.RadiusMemberPath = “Radius”;
series.AngleAxis = numericAngleAxis;
series.RadiusAxis = numericRadiusAxis;
此DataChart.Series.Add(series);

极坐标样条面积系列样例


PolarDataSample polarDataSample = new PolarDataSample();
var numericAngleAxis = new numericRadiusAxis ();
var NumericRadiusAxis = new numericRadiusAxis ();
此.DataChart.Axis.Add(numericRadiusAxis);
= new polarineaseres);
series.DataSource = polarDataSample;
series.AngleMemberPath = “Angle”;
series.RadiusMemberPath = “Radius”;
series.AngleAxis = numericAngleAxis;
series.RadiusAxis = numericRadiusAxis;
此DataChart.Series.Add(series);

径向系列概述

RadialSeries是一组系列,类似于PolarSeries,它获取数据并将其呈现为围绕圆包裹的数据点的集合 (而不是像类别系列那样沿着水平线拉伸)。它从图表范围的最小到最大映射类别列表,并支持类别系列的相同类别分组机制。

径向系列最低要求

与UltraDataChart控件中的所有其他类型的系列类似,径向系列也使用的DataSource属性来绑定数据。所有系列都可以绑定到实现IEnumerable接口的任何对象 (例如, 列表、集合、队列堆栈)。但是,在径向序列的情况下,此对象中的每个项必须具有一个使用序列的valuemememberpath属性映射的数字数据列和一个映射到CategoryAngleAxis的标签属性的类别数据列。

类型的径向系列

  • 馅饼
  • 线
  • 面积

样品径向饼系列

var DataChart = new UltraDataChart();
CategoryDataSample categoryDataSample = new CategoryDataSample();
var categoryAngleAxis = new CategoryAngleAxis();
categoryAngleAxis.ItemsSource = categoryDataSample;
categoryAngleAxis.Label = “{Category}”;
categoryAngleAxis.Interval = 1;
变量numericRadiusAxis = new NumericRadiusAxis();
numericRadiusAxis.MinimumValue = 0;
numericRadiusAxis.MaximumValue = 150;
numericRadiusAxis.
radiusextscale = 0.8;
numericRadiusAxis.Inradiusextentscale = 0.2;
DataChart.Add (categangleaxis);
DataChart.Axes.Add(numericRadiusAxis);
RadialPieSeries series = new RadialPieSeries();
series.DataSource = categoryDataSample;
series.ValueMemberPath = “Value”;
series.AngleAxis = categoryAngleAxis;
series.ValueAxis = numericRadiusAxis;
series.MarkerType = MarkerType.None;
系列.Thickness = 1;
DataChart.series.Add (系列);

样品径向柱系列

var DataChart = new UltraDataChart();
CategoryDataSample categoryDataSample = new CategoryDataSample();
var categoryAngleAxis = new CategoryAngleAxis();
categoryAngleAxis.ItemsSource = categoryDataSample;
categoryAngleAxis.Label = “{Category}”;
categoryAngleAxis.Interval = 1;
变量numericRadiusAxis = new NumericRadiusAxis();
numericRadiusAxis.MinimumValue = 0;
numericRadiusAxis.MaximumValue = 150;
numericRadiusAxis.
radiusextscale = 0.8;
numericRadiusAxis.Inradiusextentscale = 0.2;
DataChart.Add (categangleaxis);
DataChart.Axes.Add(numericRadiusAxis);
RadialColumnSeries series = new RadialColumnSeries();
series.DataSource = categoryDataSample;
series.ValueMemberPath = “Value”;
series.AngleAxis = categoryAngleAxis;
series.ValueAxis = numericRadiusAxis;
series.MarkerType = MarkerType.None;
系列.Thickness = 1;
DataChart.series.Add (系列);

样品径向线系列

var DataChart = new UltraDataChart();
CategoryDataSample categoryDataSample = new CategoryDataSample();
var categoryAngleAxis = new CategoryAngleAxis();
categoryAngleAxis.ItemsSource = categoryDataSample;
categoryAngleAxis.Label = “{Category}”;
categoryAngleAxis.Interval = 1;
变量numericRadiusAxis = new NumericRadiusAxis();
numericRadiusAxis.MinimumValue = 0;
numericRadiusAxis.MaximumValue = 150;
numericRadiusAxis.
radiusextscale = 0.8;
numericRadiusAxis.Inradiusextentscale = 0.2;
DataChart.Add (categangleaxis);
DataChart.Axes.Add(numericRadiusAxis);
RadialLineSeries series = new RadialLineSeries();
series.DataSource = categoryDataSample;
series.ValueMemberPath = “Value”;
series.AngleAxis = categoryAngleAxis;
series.ValueAxis = numericRadiusAxis;
series.MarkerType = MarkerType.None;
系列。厚度 = 5;
DataChart.series.Add (系列);

样品径向区域系列

var DataChart = new UltraDataChart();
CategoryDataSample categoryDataSample = new CategoryDataSample();
var categoryAngleAxis = new CategoryAngleAxis();
categoryAngleAxis.ItemsSource = categoryDataSample;
categoryAngleAxis.Label = “{Category}”;
categoryAngleAxis.Interval = 1;
变量numericRadiusAxis = new NumericRadiusAxis();
numericRadiusAxis.MinimumValue = 0;
numericRadiusAxis.MaximumValue = 150;
numericRadiusAxis.
radiusextscale = 0.8;
numericRadiusAxis.Inradiusextentscale = 0.2;
DataChart.Add (categangleaxis);
DataChart.Axes.Add(numericRadiusAxis);
RadialAreaSeries series = new RadialAreaSeries();
series.DataSource = categoryDataSample;
series.ValueMemberPath = “Value”;
series.AngleAxis = categoryAngleAxis;
series.ValueAxis = numericRadiusAxis;
series.MarkerType = MarkerType.Circle;
系列。厚度 = 5;
DataChart.series.Add (系列);

堆叠系列概述

堆叠系列属于一组类别系列,它们使用由堆叠在彼此之上的脊柱元素 (StackedFragmentSeries) 的平滑曲线连接的点的集合来呈现。

类型的堆叠系列

堆叠样条系列

堆叠线系列


堆叠柱系列


叠合棒材系列


堆叠面积系列

堆叠式100-面积系列


堆叠式100-棒材系列


堆叠式100系列


堆叠100-样条区域系列

堆叠100-直线和样条系列

</p