在.Net4.0框架中,微软已经将Mschart控件集成了进来,以前一直在web下面用过,原来winform下的Mschart控件更加简单更加方便,今天我们用mschart绘制一个多曲线图,话不多说,直接上效果图:

发现,MsChart 的显示效果还是不错的。

代码如下,供大家参考:

public partial class FrmMain : Form{public FrmMain(){InitializeComponent();InitializeChart();this.Load += new EventHandler(FrmMain_Load);this.myChart.GetToolTipText += new EventHandler<tooltipeventargs>(myChart_GetToolTipText);}void FrmMain_Load(object sender, EventArgs e){float[][] data = new float[3][];//第一条数据data[0] = new float[10] { 1.3f, 2.5f, 2.1f, 3.3f, 2.8f, 3.9f, 4.3f, 3.6f, 4.2f, 3.6f };//第二条数据data[1] = new float[12] { -2f, -1.3f, 0.1f, 0.5f, -1.5f, 0.7f, 1f, 1.4f, 1.9f, 2f, 2.6f, 3.1f };//第三条数据data[2] = new float[10] { 7.8f, 9.2f, 6.5f, 8.3f, 9.0f, 5.9f, 6.3f, 7.2f, 8.8f, 9.8f };for (int i = 0; i < data.Length; i++){//横坐标时间DateTime dt = DateTime.Now.Date;Series series = this.SetSeriesStyle(i);for (int j = 0; j < data[i].Length; j++){series.Points.AddXY(dt, data[i][j]);dt = dt.AddDays(1);}this.myChart.Series.Add(series);}}private void myChart_GetToolTipText(object sender, ToolTipEventArgs e){if (e.HitTestResult.ChartElementType == ChartElementType.DataPoint){int i = e.HitTestResult.PointIndex;DataPoint dp = e.HitTestResult.Series.Points[i];e.Text = string.Format("时间:{0};数值:{1:F1} ", DateTime.FromOADate(dp.XValue),dp.YValues[0]);}}/// <summary>         /// 初始化Char控件样式/// </summary>         public void InitializeChart(){#region 设置图表的属性//图表的背景色myChart.BackColor = Color.FromArgb(211, 223, 240);//图表背景色的渐变方式myChart.BackGradientStyle = GradientStyle.TopBottom;//图表的边框颜色、myChart.BorderlineColor = Color.FromArgb(26, 59, 105);//图表的边框线条样式myChart.BorderlineDashStyle = ChartDashStyle.Solid;//图表边框线条的宽度myChart.BorderlineWidth = 2;//图表边框的皮肤myChart.BorderSkin.SkinStyle = BorderSkinStyle.Emboss;#endregion#region 设置图表的TitleTitle title = new Title();//标题内容title.Text = "多曲线图演示";//标题的字体title.Font = new System.Drawing.Font("Microsoft Sans Serif", 12, FontStyle.Bold);//标题字体颜色title.ForeColor = Color.FromArgb(26, 59, 105);//标题阴影颜色title.ShadowColor = Color.FromArgb(32, 0, 0, 0);//标题阴影偏移量title.ShadowOffset = 3;myChart.Titles.Add(title);#endregion#region 设置图表区属性//图表区的名字ChartArea chartArea = new ChartArea("Default");//背景色chartArea.BackColor = Color.FromArgb(64, 165, 191, 228);//背景渐变方式chartArea.BackGradientStyle = GradientStyle.TopBottom;//渐变和阴影的辅助背景色chartArea.BackSecondaryColor = Color.White;//边框颜色chartArea.BorderColor = Color.FromArgb(64, 64, 64, 64);//阴影颜色chartArea.ShadowColor = Color.Transparent;//设置X轴和Y轴线条的颜色和宽度chartArea.AxisX.LineColor = Color.FromArgb(64, 64, 64, 64);chartArea.AxisX.LineWidth = 1;chartArea.AxisY.LineColor = Color.FromArgb(64, 64, 64, 64);chartArea.AxisY.LineWidth = 1;//设置X轴和Y轴的标题chartArea.AxisX.Title = "横坐标标题";chartArea.AxisY.Title = "纵坐标标题";//设置图表区网格横纵线条的颜色和宽度chartArea.AxisX.MajorGrid.LineColor = Color.FromArgb(64, 64, 64, 64);chartArea.AxisX.MajorGrid.LineWidth = 1;chartArea.AxisY.MajorGrid.LineColor = Color.FromArgb(64, 64, 64, 64);chartArea.AxisY.MajorGrid.LineWidth = 1;myChart.ChartAreas.Add(chartArea);#endregion#region 图例及图例的位置Legend legend = new Legend();legend.Alignment = StringAlignment.Center;legend.Docking = Docking.Bottom;this.myChart.Legends.Add(legend);#endregion}//设置Series样式private Series SetSeriesStyle(int i){Series series = new Series(string.Format("第{0}条数据", i + 1));//Series的类型series.ChartType = SeriesChartType.Line;//Series的边框颜色series.BorderColor = Color.FromArgb(180, 26, 59, 105);//线条宽度series.BorderWidth = 3;//线条阴影颜色series.ShadowColor = Color.Black;//阴影宽度series.ShadowOffset = 2;//是否显示数据说明series.IsVisibleInLegend = true;//线条上数据点上是否有数据显示series.IsValueShownAsLabel = false;//线条上的数据点标志类型series.MarkerStyle = MarkerStyle.Circle;//线条数据点的大小series.MarkerSize = 8;//线条颜色switch (i){case 0:series.Color = Color.FromArgb(220, 65, 140, 240);break;case 1:series.Color = Color.FromArgb(220, 224, 64, 10);break;case 2:series.Color = Color.FromArgb(220, 120, 150, 20);break;}return series;}}</tooltipeventargs>

另外附上微软Demo的下载地址:http://archive.msdn.microsoft.com/mschart/Release/ProjectReleases.aspx?ReleaseId=4418

Demo 分为WEB版本和WinForm版本,样式和图表内容很全,希望对大家有所帮助。
出处:http://www.cnblogs.com/lxblog/

转载于:https://www.cnblogs.com/zeroone/p/3496614.html

利用MsChart控件绘制多曲线图表 z相关推荐

  1. WINCC V7.5入门实例教程,使用常数数组用FunctionTrendControl控件绘制趋势曲线(区别于7.0及以前的老版本,脚本更新)

    近期在学习WINCC的应用,师傅在网上找了个实例让我自己试着弄一下看能不能达到效果,原文在下面,经过尝试我发现有很多脚本在7.5版本中已经更改,所以针对趋势曲线的练习,将更新后的脚本及整个效果分享出来 ...

  2. 基于mschart控件,绘制工控采集类曲线,可对图像进行缩放,拖动滚动条显示放大后的图像

    基于mschart控件,绘制工控采集类曲线,可对图像进行缩放,拖动滚动条显示放大后的图像,并动态显示曲线上的数值点 在工控.采集.测试类项目中经常需要对采集接收回来的数据进行图像.曲线显示,本人在项目 ...

  3. C# mschart 控件的基本使用和图表控件Series的概念

    使用sharpdevelop: 此工具默认没有mschart控件:把如下dll添加到引用: 工具箱里面把控件加出来:sharpdevelop加控件到工具箱见此: https://blog.csdn.n ...

  4. ASP中利用OWC控件实现图表功能详解[zz]

    ASP中利用OWC控件实现图表功能详解 在ASP中利用OWC(Office Web Components)控件可轻松实现各种图表功能,如饼图,簇状柱型图,折线图等. 在下面的代码中我详细的给出了饼图, ...

  5. ASP中利用OWC控件实现图表功能详解

    在ASP中利用OWC(Office Web Components)控件可轻松实现各种图表功能,如饼图,簇状柱型图,折线图等. 在下面的代码中我详细的给出了饼图,簇状柱型图,折线图的使用方法.OWC的更 ...

  6. chart控件做实时曲线显示_组态王实时趋势曲线控件介绍,让你对此不再陌生

    一.组态王实时趋势控件的特点 1. 通过TCPIP获得实时数据,数据服务器可以是任何一台运行组态王的机器,而不需进行组态王网络配置. 2. 最多可以显示20条曲线. 3. 可以设置每条曲线的绘制方式, ...

  7. Windows10下VB6.0开发——利用PictureBox控件实现数据点实时绘图

    前言:VB中可以利用PictureBox控件实现数据点实时绘图功能. 1. 控件PictureBox   下面是PictureBox的图标:   将该控件拖到目标位置后调整它的形状大小,修改它的背景色 ...

  8. 使用.net 的Chart控件绘制曲线图

    System.Windows.Forms.DataVisualization.Charting 命名空间 System.Windows.Forms.DataVisualization.Charting ...

  9. 解决找不到MSchart 控件Microsoft Chart Control, version 6.0

    最近用VC在做网站,需要将捕捉到的数据进行处理,就是绘制一个心电. 结果在添加这个MSchart 控件的时候 步骤:网站->添加引用->COM组件-> 却郁闷的找不到Microsof ...

最新文章

  1. 多线程端点服务发布程序(摘)
  2. DevExpress的更新
  3. 搜索引擎其实是一个读库
  4. 开车走吗?朋友......
  5. 玩转oracle 11g(20):ora-00604和ora-00018
  6. prim——最小连接路径和(hdu1301)
  7. django创建新的项目、App与基本配置
  8. 不好的女人只能消耗你,好的女人不仅可以给你一个家和孩子
  9. 苹果发布会不够酷?库克又送来了 iOS 12.2!
  10. 3.5 tensorflow2实现样本分布K-S检验 ——python实战
  11. 神经网络的理解和计算
  12. HP LaserJet P1108驱动安装
  13. Layui表格点击详情
  14. 同时使用动态库和静态库时怎么写makefile
  15. VisIonPro学习笔记
  16. 多生成树协议,冗余备份,负载均衡
  17. 视频驱动V4L2子系统驱动架构 - 驱动框架
  18. Java实现蓝桥杯突击战
  19. NFT Insider #65:韩国娱乐业巨头CJ ENM与The Sandbox达成合作,YGG 建立巴西社区的SubDAO
  20. 20210905 Ax=b的解的三种情况

热门文章

  1. 从事程序员的工作,Python大数据、Java、前端,哪个有发展前景?
  2. Citrix虚拟化技术之五XenServer6.2资源池配置
  3. [转]赴澳大利亚监督指导世界拉力锦标赛的工作报告
  4. ruoyi笔记0-尝试启动ruoyi
  5. canal+kafka部署测试全记录
  6. 『网络安全』蜜罐到蜜网入门指南(三)蜜罐内部组成分析
  7. 自己做量化交易软件(43)小白量化实战16--利用小白量化金融模块在恒生PTrade交易系统(交易端)上仿大智慧指标回测及实战交易设计
  8. python实现水仙花数判断
  9. ArcGIS在线应用介绍(4)辽宁省地理信息共享平台(公众版)
  10. 数据库无法修改问题解决