C1Chart:行业数据分析(下)

在上篇文章中我们讲述了C1Chart的图表,包括金融图表和数据统计。本文下半部分就主要来讲行业数据分析中的等高线和等高区域。ComponentOne Chart for WinForms包含80多种2D和3D图表类型,无需代码的图表设计器,灵活的可定制的图表元素,最佳的视觉效果,可与最终用户的交互, 优秀的鼠标跟踪能力等。使用ComponentOne Chart for WinForms可以提升数据分析系统。等高线和等高区域<p><a onclick="return imageZoom(this);" href="/image.ashx?picture=2014%2f5%2fSurface.png" target="_blank"><img src="/image.ashx?picture=2014%2f5%2fSurface.png" alt="" width="596" height="437"/></a></p>

发布于 2014/05/15 00:00

ComponentOne Enterprise

在上篇文章中我们讲述了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)

关于葡萄城

葡萄城是专业的软件开发技术和低代码平台提供商,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。葡萄城开发技术始于1980年,40余年来始终聚焦软件开发技术,有深厚的技术积累和丰富的产品线。是业界能够同时赋能软件开发和低代码开发的企业。凭借过硬的产品能力、活跃的用户社区和丰富的伙伴生态,与超过3000家合作伙伴紧密合作,产品广泛应用于信息和软件服务、制造、交通运输、建筑、金融、能源、教育、公共管理等支柱产业。

相关产品
推荐相关案例
关注微信
葡萄城社区二维码

关注“葡萄城社区”

活字格低代码二维码

关注“活字格低代码”

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态