前一篇博客 C#char控件的使用心得 简述一个使用chart控件的例子此处详细整理一下chart控件的使用。

要使用好Chart控件我们先得明确它的结构。如下图所示:(只画出了大概结构,更多的细节会使得图片可视性差)

1. 一个chart可以包含多个chartArea。 chartArea是具体的坐标区域。

2. 每一个chartArea主要包含X轴,Y轴,副X轴(上方),副Y轴(右方),绑定的线条,绑定的图例。

3. 线条可以有许多,只要将线条绑定到chartArea就可以在对应的chartArea显示。

其树形实体结构如下所示: 对于每个实体里面的许多样式属性可以自行尝试研究。

综上可以对chart的结构有一个基本了解。接下来结合代码进行说明

1. 线条的创建   此处用于创建4条线段。

           public Series maxTemp;public Series avgTemp;public Series minTemp;public Series vibration;
            maxTemp = new Series("maxTemp");avgTemp = new Series("avgTemp");minTemp = new Series("minTemp");vibration = new Series("vibration");

2.设置线条的样式

//曲线的颜色maxTemp.BorderColor = Color.Black;maxTemp.Color = Color.Red;avgTemp.BorderColor = Color.Black;avgTemp.Color = Color.Green;minTemp.BorderColor = Color.Black;minTemp.Color = Color.Blue;vibration.BorderColor = Color.Black;vibration.Color = Color.Blue;//曲线的宽度maxTemp.BorderWidth = 2;avgTemp.BorderWidth = 2;avgTemp.BorderWidth = 2;vibration.BorderWidth = 2;//曲线的样式   有圆形曲线,阶梯形曲线,折线等等。maxTemp.ChartType = SeriesChartType.Spline;    avgTemp.ChartType = SeriesChartType.Spline;minTemp.ChartType = SeriesChartType.Spline;vibration.ChartType =SeriesChartType.Spline;//曲线的阴影样式    可以让曲线更加突出有立体感。maxTemp.ShadowOffset = 1;avgTemp.ShadowOffset = 1;minTemp.ShadowOffset = 1;vibration.ShadowOffset = 1;//标记的样式        设置曲线中 每个数据点标记的样式。可以在标记中显示数据点的值,但是太多
//数据点的话将没有可视性。maxTemp.MarkerColor = Color.White;maxTemp.MarkerStyle = MarkerStyle.Square;avgTemp.MarkerColor = Color.White;avgTemp.MarkerStyle = MarkerStyle.Square;minTemp.MarkerColor = Color.White;minTemp.MarkerStyle = MarkerStyle.Square;vibration.MarkerColor = Color.White;vibration.MarkerStyle = MarkerStyle.Square;//设置线条的轴类型   主要设置以下方做X轴还是上方做X轴,左方做Y轴还是右方做Y轴maxTemp.XAxisType = AxisType.Primary;maxTemp.YAxisType = AxisType.Primary;avgTemp.XAxisType = AxisType.Primary;avgTemp.YAxisType = AxisType.Primary;minTemp.XAxisType = AxisType.Primary;minTemp.YAxisType = AxisType.Primary;vibration.XAxisType = AxisType.Primary;vibration.YAxisType = AxisType.Primary;          
            vibration.IsValueShownAsLabel = true;    //此属性将数据点的值作为标签。


2. ChartArea的创建和属性设置
public ChartArea mainArea1 = new ChartArea("areaDTS");  
public ChartArea mainArea2 = new ChartArea("areaDOVS");



  //设置图表区域 用户可以拖动游标   此处设置后用户可以通过拖动游标放大查看区域       
   //设置图表区域 用户可以拖动游标mainArea1.CursorX.IsUserEnabled = true;mainArea1.CursorY.IsUserEnabled = true;mainArea2.CursorX.IsUserEnabled = true;mainArea2.CursorY.IsUserEnabled = true;
            //设置X Y 轴坐标的标题。mainArea1.AxisX.Title = "光纤分区号/(标量)";mainArea1.AxisY.Title = "温度值/(摄氏度)";mainArea2.AxisX.Title = "光纤震动位置/(m)";mainArea2.AxisY.Title = "震动值/(a.u.)";
      //设置网格。主网格 与主刻度对应 副网格与副刻度对应,从刻度向另一端画一条线。如果线条中数据过多,
//产生较多的网格线会 使得整个区域过于密集,甚至为全黑色。所以在数据点较多的情况小关闭副网格,甚至主网格。
            mainArea1.AxisX.MajorGrid.Enabled = false;mainArea1.AxisY.MajorGrid.Enabled = false;mainArea1.AxisX.MinorTickMark.Enabled = false;mainArea2.AxisX.MajorGrid.Enabled = false;mainArea2.AxisY.MajorGrid.Enabled = false;mainArea2.AxisX.MinorTickMark.Enabled = false;
  
            //设置曲线横坐标值类型为时间类型
            vibration.XValueType = ChartValueType.DateTime;
            //将此线条绑定到的AxisX的标签设置时间格式。


            mainArea1.AxisX.LabelStyle.Format = "MM-dd HH:mm";
            //设置主刻度线和副刻度线 一般只有主刻度线才有对应标签值。mainArea1.AxisX.MinorTickMark.Enabled = true ;mainArea1.AxisX.MajorTickMark.Enabled = true;



3. 创建图例 标题
  Legend legend = new Legend();
 ElementPosition p = new ElementPosition(0, 0, 12, 10); 
  chart.Legends[0].Position = p;   //每创建一个对象都会存放在chart的集合属性中可以通过数组的形式随机访问。



  Title title = new Title("chart使用方法");chart.Titles.Add(title);
4.将前面创建的对象加入到自己所属的父实体中。
 chart2.ChartAreas.Add(mainArea1);  //将线条加入到chart的chartAreas集合属性中chart2.ChartAreas.Add(mainArea2);
 series4.ChartArea = "areaDOVS";   //将线条绑定到对应ChartArea 通过chartArea的名字就可以绑定series3.ChartArea = "areaDTS";
 chart2.Series.Add(series3);       //将线条加入到chart的series集合属性中。chart2.Series.Add(series4);


5.示例效果。注意示例效果与前述代码无关,前述代码只为了说明。

上述代码没有讲述给线条添加数据点,前一篇博客C#使用心得讲述给线条添加数据点的方法。






												

对C#Chart控件使用整理相关推荐

  1. 在 ASP.NET MVC 中使用 Chart 控件

    在 .NET 3.5 的时候,微软就提供了一个 Chart 控件,网络上有大量的关于在 VS2008 中使用这个控件的文章,在 VS2010 中,这个控件已经被集成到 ASP.NET 4.0 中,可以 ...

  2. C# chart控件基础使用

    基本介绍:chart(图表) 功能:主要用来绘制折线图,柱状图与饼状图,也可达到动态效果(例如作示波器): 需要说明 一个chart可以包含多个chartArea. chartArea是具体的坐标区域 ...

  3. C#chart控件绘制折线图、柱状图、饼图、雷达图

    转载来源:https://blog.csdn.net/u011854789/article/details/82946553 参考链接: http://www.cnblogs.com/winshe/a ...

  4. C# Chart控件,chart、Series、ChartArea曲线图绘制的重要属性

    原文有备份,如有错误和需要改进的地方,请不吝指正会继续修改的 8个月没写博客了- -,一来是有不想继续干开发的想法,二来是赖的写,三来还是不想总结.所以为了继续坚持自己的开发和总结的信念,总结一下C# ...

  5. Chart控件X轴显示不全的解决方法

    Chart控件X轴显示不全的解决方法 参考文章: (1)Chart控件X轴显示不全的解决方法 (2)https://www.cnblogs.com/topmount/p/8430689.html 备忘 ...

  6. Chart 控件 for vs2008的安装

    Chart 控件 for vs2008的安装 1.下载4个文件: (1)dotnetfx35setup.exe (2)MSChart_VisualStudioAddOn.exe (3)MSChartL ...

  7. 使用 SAP UI5 Smart Chart 控件轻松绘制十数种不同类型的专业图表试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 本专栏计划的文章数在 300 篇左右,到 2022年11月19日为止,目前已经更新了 149 篇,专栏完成度为 49.6%. 作者简介 Jerry ...

  8. C# chart控件中游标随着鼠标移动

    chart控件中游标如何随着移动? 思路很简单,只需要在鼠标进入chart控件时,获取鼠标的位置,然后将数值赋给游标的position属性. 具体实现方法如下: 选中chart控件.F4进入属性窗口, ...

  9. C# chart控件实时动态显示数据

    这里介绍了一个最简单的实时显示数据的完整示例, 本文参考了 使用MSChart实时动态显示折线图 ,谢谢原作者的分享. 平台:VS2013,C#windows程序. 源代码下载:http://down ...

  10. C#中Chart控件的一些由浅至深的理解

    最近在做这样一个桌面应用程序,从公司后台服务器查询后,获取到设备上报的数据(每条都是字符串+JSON的形式),其中字符串里包含了设备名称.上报时间这两条信息,JSON中则包含了数据上报类型.重点关注的 ...

最新文章

  1. Elasticsearch的前后台运行与停止(rpm包方式)
  2. Mysql:查询当天、今天、本周、上周、本月、上月、本季度、本年的数据
  3. php html登陆逻辑,保持演示文稿(HTML)和逻辑(PHP)分开
  4. 找了个学习uboot makefile的好地方 不过不让转载 那就把网址分享一下吧
  5. Leetcode--416. 分割等和子集
  6. java要频繁调用容器时_Java知识点梳理
  7. P4414 [COCI2006-2007#2] ABC(python3实现)
  8. 2018年软考网络规划设计师考试通过经验分享
  9. 刘作虎曝光一加7真机视频 最流畅的手机来了!
  10. dva.js 知识导图
  11. php socket端口监听端口号,swoole websocket服务器中添加监听tcp的端口
  12. Java基础视频教程(最适合初学者入门)
  13. android实现m3u8直播缓存/下载,M3U8Manger
  14. 洛谷-明明的随机数(C语言实现)
  15. 计算机端口怎么配置波特率,怎么查看车载导航端口号、波特率和取码方式?
  16. 小程序“头脑王者” 因违规被微信下架整改 小程序不可逾越的红线
  17. QQ坦白说查看好友方法攻略
  18. java如何运行jsp文件_jsp文件怎么打开(java
  19. idea创建SpringBoot工程
  20. 软件设计模式从何而来?------“抄袭来的” 设计模式

热门文章

  1. 一维码,二维码,com.google.zxing
  2. 搜狗输入法linux版 rpm,opensuse 制作搜狗输入法rpm包
  3. 转转首席架构师 孙玄:如何成为一个有情怀的工程师?
  4. 华三Track+NQA+静态路由配置实例
  5. MATLAB中常用的基本数学函数和三角函数
  6. 38译码器数码管c语言代码,通过38译码器控制数码管显示数字
  7. 38译码器和416译码器
  8. 安徽省计算机二级水平考试试卷,2010安徽省全国计算机等级考试二级笔试试卷VB试题及答案...
  9. Python2.7利用xpath爬取韩寒博客(多线程版)
  10. 浅谈切比雪夫多项式推导及其实现模版归类