博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# chart控件绘制曲线
阅读量:5952 次
发布时间:2019-06-19

本文共 4021 字,大约阅读时间需要 13 分钟。

 

在.NET中以前经常用GDI去绘制,虽然效果也不错,自从.NET 4.0开始,专门为绘制图表而生的Chart控件出现了,有了它,就可以轻松的绘制你所需要的曲线图、柱状图什么的了。

 

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows.Forms;using System.Windows.Forms.DataVisualization.Charting;using System.Drawing; namespace DrawGraph{  ///   /// 绘制曲线类  ///   public static class DrawClass  {    #region 绘制曲线函数    ///     /// 绘制曲线函数       ///          /// X值集合         /// Y值集合         /// Chart控件         public static void DrawSpline(List
listX, List
listY, Chart chart) { try { //X、Y值成员 chart.Series[0].Points.DataBindXY(listX, listY); chart.Series[0].Points.DataBindY(listY); //点颜色 chart.Series[0].MarkerColor = Color.Green; //图表类型 设置为样条图曲线 chart.Series[0].ChartType = SeriesChartType.Spline; //设置点的大小 chart.Series[0].MarkerSize = 5; //设置曲线的颜色 chart.Series[0].Color = Color.Orange; //设置曲线宽度 chart.Series[0].BorderWidth = 2; //chart.Series[0].CustomProperties = "PointWidth=4"; //设置是否显示坐标标注 chart.Series[0].IsValueShownAsLabel = false; //设置游标 chart.ChartAreas[0].CursorX.IsUserEnabled = true; chart.ChartAreas[0].CursorX.AutoScroll = true; chart.ChartAreas[0].CursorX.IsUserSelectionEnabled = true; //设置X轴是否可以缩放 chart.ChartAreas[0].AxisX.ScaleView.Zoomable = true; //将滚动条放到图表外 chart.ChartAreas[0].AxisX.ScrollBar.IsPositionedInside = false; // 设置滚动条的大小 chart.ChartAreas[0].AxisX.ScrollBar.Size = 15; // 设置滚动条的按钮的风格,下面代码是将所有滚动条上的按钮都显示出来 chart.ChartAreas[0].AxisX.ScrollBar.ButtonStyle = ScrollBarButtonStyles.All; chart.ChartAreas[0].AxisX.ScrollBar.ButtonColor = Color.SkyBlue; // 设置自动放大与缩小的最小量 chart.ChartAreas[0].AxisX.ScaleView.SmallScrollSize = double.NaN; chart.ChartAreas[0].AxisX.ScaleView.SmallScrollMinSize = 1; //设置刻度间隔 chart.ChartAreas[0].AxisX.Interval = 10; //将X轴上格网取消 chart.ChartAreas[0].AxisX.MajorGrid.Enabled = false; //X轴、Y轴标题 chart.ChartAreas[0].AxisX.Title = "环号"; chart.ChartAreas[0].AxisY.Title = "直径"; //设置Y轴范围 可以根据实际情况重新修改 double max = listY[0]; double min = listY[0]; foreach (var yValue in listY) { if (max < yValue) { max = yValue; } if (min > yValue) { min = yValue; } } chart.ChartAreas[0].AxisY.Maximum = max; chart.ChartAreas[0].AxisY.Minimum = min; chart.ChartAreas[0].AxisY.Interval = (max - min) / 10; //绑定数据源 chart.DataBind(); } catch (Exception exc) { MessageBox.Show(exc.ToString()); } } #endregion #region 鼠标点击,通过环号显示游标,并缩放到响应位置 ///
/// 鼠标点击,通过环号显示游标,并缩放到响应位置函数 /// ///
环号 ///
Chart控件 public static void ShowCurByClick(int ringNum, Chart chart) { //设置游标位置 chart.ChartAreas[0].CursorX.Position = ringNum; //设置视图缩放 chart.ChartAreas[0].AxisX.ScaleView.Zoom(ringNum - 1, ringNum + 2); //改变曲线线宽 chart.Series[0].BorderWidth = 3; //改变X轴刻度间隔 chart.ChartAreas[0].AxisX.Interval = 1; } #endregion }}

 

参考文章

1.

 

转载地址:http://kuoxx.baihongyu.com/

你可能感兴趣的文章
Centos下基于Hadoop安装Spark(分布式)
查看>>
3D地图的定时高亮和点击事件(基于echarts)
查看>>
mysql开启binlog
查看>>
设置Eclipse编码方式
查看>>
分布式系统唯一ID生成方案汇总【转】
查看>>
并查集hdu1232
查看>>
Mysql 监视工具
查看>>
从前后端分离到GraphQL,携程如何用Node实现?\n
查看>>
Linux Namespace系列(09):利用Namespace创建一个简单可用的容器
查看>>
nginc+memcache
查看>>
Numpy中的random模块中的seed方法的作用
查看>>
关于jsb中js与c++的相互调用
查看>>
POJ-2251 Dungeon Master
查看>>
tortoisesvn的安装
查看>>
URAL 1353 Milliard Vasya's Function DP
查看>>
速读《构建之法:现代软件工程》提问
查看>>
Android onclicklistener中使用外部类变量时为什么需要final修饰【转】
查看>>
django中聚合aggregate和annotate GROUP BY的使用方法
查看>>
TFS简介
查看>>
docker管理平台 shipyard安装
查看>>