C1Chart:行业数据分析(下)

发布时间:2014/05/15 00:05 发布者:Alice

返回博客中心

在上篇文章中我们讲述了C1Chart的图表,包括金融图表和数据统计。本文下半部分就主要来讲行业数据分析中的等高线和等高区域。

ComponentOne Chart for WinForms包含80多种2D和3D图表类型,无需代码的图表设计器,灵活的可定制的图表元素,最佳的视觉效果,可与最终用户的交互, 优秀的鼠标跟踪能力等。

使用ComponentOne Chart for WinForms可以提升数据分析系统。

等高线和等高区域

C1Chart3D控件可以自动的生成等高线,和根据您的数据划分区域。可以将它用于表达温度、海拔、大气质量等领域的专业数据。C1Chart3D使用内置的色谱或者用户自定义来给各个区域上色。C1Chart3D可以迅速的在区域间自动调配柔顺的渐进色。

另外还有强大的交互能力,Chart提供内置的交互功能,包括鼠标驱动旋转、升高、移动和收放。

C1Chart3D绑定数据:Chart3DDataSetGrid绑定XML数据,用来自动生成等高线。具体代码如下:

Chart3DDataSetGrid grid = c1Chart3D1.ChartGroups.Group0.ChartData.SetGrid;
            IList rows = categorySales1.List;
            Chart3DAxis x = c1Chart3D1.ChartArea.AxisX;
            Chart3DAxis y = c1Chart3D1.ChartArea.AxisY;
            Chart3DAxis z = c1Chart3D1.ChartArea.AxisZ;
            grid.RowCount = rows.Count;
            grid.ColumnCount = 4;

            for (int i = 0; i < rows.Count; i++)
            {
                DataRowView view = rows[i] as DataRowView;
                DataRow r = view.Row;
                grid[0, i] = System.Convert.ToDouble(r[1]);
                grid[1, i] = System.Convert.ToDouble(r[2]);
                grid[2, i] = System.Convert.ToDouble(r[3]);
                grid[3, i] = System.Convert.ToDouble(r[4]);
                y.ValueLabels.Add(i, r[0].ToString());
            }

            x.ValueLabels.Add(0, "Q1");
            x.ValueLabels.Add(1, "Q2");
            x.ValueLabels.Add(2, "Q3");
            x.ValueLabels.Add(3, "Q4");
            x.AnnoMethod = AnnotationMethodEnum.ValueLabels;
            x.AnnoPosition = AnnoPositionEnum.Both;

            x.MajorGrid.IsOnXYPlane = true;
            x.MajorGrid.IsOnXZPlane = true;
            x.MajorGrid.Style.Color = SystemColors.ControlDarkDark;

            y.AnnoMethod = AnnotationMethodEnum.ValueLabels;
            y.AnnoRotated = true;
            y.AnnoPosition = AnnoPositionEnum.Both;

            y.MajorGrid.IsOnXYPlane = true;
            y.MajorGrid.IsOnYZPlane = true;
            y.MajorGrid.Style.Color = SystemColors.ControlDarkDark;

            z.AnnoFormat = FormatEnum.NumericManual;
            z.AnnoFormatString = "#,";
            z.Text = "$1,000's";
            z.UnitMajor = z.UnitMinor;

            z.MajorGrid.IsOnXZPlane = true;
            z.MajorGrid.IsOnYZPlane = true;
            z.MajorGrid.Style.Color = SystemColors.ControlDarkDark;

C1Chart3D调整缩放:通过Chart3D的Scal来调整缩放比例,代码如下:

 //Adjust zoom level
            c1Chart3D1.ChartArea.View.ViewportScale = 1.4f;
            c1Chart3D1.ChartArea.View.ViewportHorizontalShift = .15f;
            c1Chart3D1.ChartArea.View.ViewportVerticalShift = -.17f;

C1Chart3D等高线的交互:通过设置,C1Chart3D可以实现鼠标驱动旋转、升高、移动和收放。在Demo中,当鼠标拖拽或是调整TrackBar的时候,都可以驱动旋转,代码如下所示:

private System.Windows.Forms.TrackBar trkYAxis; 
private void trkXAxis_Scroll(object sender, EventArgs e) 
{ 
c1Chart3D1.ChartArea.View.RotationX = trkXAxis.Value; 
} 
private void trkYAxis_Scroll(object sender, EventArgs e) 
{ 
c1Chart3D1.ChartArea.View.RotationY = trkYAxis.Value; 
} 
private void trkZAxis_Scroll(object sender, EventArgs e) 
{ 
c1Chart3D1.ChartArea.View.RotationZ = trkZAxis.Value; 
}

通过上述操作自动生成的等高线图表如下所示,可以将它用于表达温度、海拔、大气质量等领域的专业数据。

 

本Demo的源代码如下: 

Chart2.7z (916.42 kb)


关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网