柱状图
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术:Visual Studio 2015
作者:朱海恩
撰写时间:2019年6月10日
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
其实chart前台后台都可以实现,首先看后台如何实现的:如果是后台实现的,那么前台就不需要任何操作了,这里只是定义一个名称:
<Grid x:Name="LayoutRoot">
</Grid>
具体的代码看后台如何实现,这里创建图表的思想是首先创建图表,设置图表的宽度和高度,然后再创建图数据表集合,再创建数据点进行for循环,然后把相应的数据点的数据对应在自己想要的数据点上
private void CreateChart()
{
//创建一个图表
Chart chart = new Chart();
//设置图表的宽度和高度
chart.Width = 800;
chart.Height = 600;
//创建一个新的数据线。
DataSeries dataSeries = new DataSeries();
//饼形状
//dataSeries.RenderAs = RenderAs.Pie;
//折线形式
//dataSeries.RenderAs = RenderAs.Line;
// 设置数据点
int numberOfDataPoints = 10;
//随机
Random random = new Random();
//for循环
for (int loopIndex = 0; loopIndex < numberOfDataPoints; loopIndex++)
{
// 创建一个数据点的实例。
DataPoint datapoint = new DataPoint();
// 设置X轴点
datapoint.YValue = random.Next(1, 10);
//添加数据点
dataSeries.DataPoints.Add(datapoint);
}
// 添加数据线到数据序列。
chart.Series.Add(dataSeries);
//将生产的图表增加到Grid
LayoutRoot.Children.Add(chart);
}
以上代码的效果图如下图:
还可以添加其他事件或者元素:
- 设置图表的属性:
chart.ScrollingEnabled = false; //是否启用或禁用滚动
chart.View3D = true; //3D效果显示
- 标题对象:设置标题名称
Title title = new Title();//创建一个标题的对象
title.Text = name; //设置标题的名称
chart.Titles.Add(title); //向图标添加标题
- 设置数据线的网格
dataSeries.RenderAs = RenderAs.Pyramid; //Pyramid黄金三角 Radar蜘蛛网 SectionFunnel 倒圆锥形 Spline折线图 StackedArea ,Area 连起来的柱状图 StackedArea100墙 横向柱状图
添加了这些设置后,柱状图的效果图会发生变化,如下图所示:
除了柱状图样式外,当然还有其他各式的样式,比如折线形式、饼形状等等。代码和柱状图的编程差不多,都是可以在前后台实现效果图,只需要在编程时加多一句相对应代码就可以了,就是下面的代码:
//饼形状
dataSeries.RenderAs = RenderAs.Pie;
//折线形式
dataSeries.RenderAs = RenderAs.Line;
接下来介绍另外一种实现方式,就是在前台如何实现的,思路很简单,和后台操作差不多。只需要在前台编程就可以了,后台不需要任何操作(后台代码基本为空,代码全在前台)。得到的效果图和后台的一样。