首先在前台拖入一个名为chart1的MSChart控件

  1.      
    //折线图
           string strLegend = "Legend1";
  2. Legend lg = new Legend(strLegend);
  3. lg.IsDockedInsideChartArea = false;
  4. lg.TitleAlignment = System.Drawing. StringAlignment.Center;
  5. chart1.Legends.Add(lg);
  6.  
  7. ChartArea ca = new ChartArea();
  8. ca.AxisX.MajorGrid.Enabled = false;
  9. ca.AxisX.MajorTickMark.Enabled = false;
  10. ca.AxisY.MajorGrid.LineDashStyle = ChartDashStyle.NotSet;
  11. int index = ;
  12. Series MyScore = new Series( "我的得分" );
  13. MyScore.ChartType = SeriesChartType.Line;
  14. MyScore.Legend = "Legend1";
  15. MyScore.ChartArea = "ChartArea1";
  16. MyScore.BorderWidth = ;
  17. Series HighScore = new Series( "最高分" );
  18. HighScore.ChartType = SeriesChartType.Line;
  19. HighScore.Legend = "Legend1";
  20. HighScore.ChartArea = "ChartArea1";
  21. MyScore.BorderWidth = ;
  22. Series AvgScore = new Series( "平均分" );
  23. AvgScore.ChartType = SeriesChartType.Line;
  24. AvgScore.Legend = "Legend1";
  25. AvgScore.ChartArea = "ChartArea1";
  26. MyScore.BorderWidth = ;
  27. foreach (DataRow dr in m_table.Rows)
  28. {
  29. DataPoint dp;
  30. if (dr["MyScore" ] == null)
  31. continue;
  32. dp = new DataPoint (index, Convert.ToDouble(dr["MyScore" ]));
  33. dp.AxisLabel = dr[ "Name"].ToString();
  34. dp.Label = Convert.ToInt32(dr["MyScore" ]).ToString();
  35. dp.BorderWidth = ;
  36. dp.MarkerStyle = System.Windows.Forms.DataVisualization.Charting.MarkerStyle .Star10;
  37. MyScore.Points.Add(dp);
  38. dp = new DataPoint (index, Convert.ToDouble(dr["HighScore" ]));
  39. dp.AxisLabel = dr[ "Name"].ToString();
  40. dp.Label = Convert.ToInt32(dr["HighScore" ]).ToString();
  41. dp.BorderWidth = ;
  42. dp.MarkerStyle = System.Windows.Forms.DataVisualization.Charting.MarkerStyle .Star10;
  43. HighScore.Points.Add(dp);
  44. dp = new DataPoint (index, Convert.ToDouble(dr["AvgScore" ]));
  45. dp.AxisLabel = dr[ "Name"].ToString();
  46. dp.Label = Convert.ToInt32(dr["AvgScore" ]).ToString();
  47. dp.BorderWidth = ;
  48. dp.MarkerStyle = System.Windows.Forms.DataVisualization.Charting.MarkerStyle .Star10;
  49. AvgScore.Points.Add(dp);
  50. index++;
  51. }
  52. chart1.Series.Add(MyScore);
  53. chart1.Series.Add(HighScore);
  54. chart1.Series.Add(AvgScore);
  55. chart1.ChartAreas.Add(ca);
  1.          
    //柱形图
              string strLegend = "Legend1" ;
  2. Legend lg = new Legend(strLegend);
  3. lg.IsDockedInsideChartArea = false;
  4. lg.TitleAlignment = System.Drawing.StringAlignment .Center;
  5. chart1.Legends.Add(lg);
  6.  
  7. ChartArea ca = new ChartArea();
  8. ca.AxisX.MajorGrid.Enabled = false;
  9. ca.AxisX.MajorTickMark.Enabled = false;
  10. ca.AxisY.MajorGrid.LineDashStyle = ChartDashStyle.NotSet;
  11. int index = ;
  12. foreach (DataRow dr in dt.Rows)
  13. {
  14. Series s = new Series(dr["CourseTermName" ].ToString());
  15. s.ChartType = SeriesChartType.Column;
  16. s.Legend = "Legend1";
  17. s.ChartArea = "ChartArea1";
  18. DataPoint dp;
  19. dp = new DataPoint (index, Convert.ToDouble(dr["Score" ]));
  20. dp.AxisLabel = dr[ "CourseTermName"].ToString();
  21. dp.Label = Convert.ToInt32(dr["Score" ]).ToString();
  22. dp.MarkerStyle = System.Windows.Forms.DataVisualization.Charting.MarkerStyle .Star10;
  23. s.Points.Add(dp);
  24. chart1.Series.Add(s);
  25. index++;
  26. }
  27. chart1.ChartAreas.Add(ca);
设置序列的BorderWidth可以改变线条的粗细,它是一个int值,值越大,线条越粗;

设置序列的MarkerStyle可以 显示出数据点标记,它是一个枚举,有多个样式,圆点、三角、矩形什么的,甚至可以通过MarkerImage来指定一个图形作为数据点,属性方面可以通过 MarkerSize和MarkerBorderWidth来指定数据点大小,MarkerColor和MarkerBorderColor来指定数据点 颜色。

希望对大家有帮助。以上都是我在项目中实现过的。

MSChart绘图控件中折线图和柱形图画法的更多相关文章

  1. VS2010 使用TeeChart绘图控件 - 之二 - 绘制图形(折线图,柱状图)

    1.前期准备 具体可见VS2010 使用TeeChart绘图控件 - 之一 控件和类的导入 1. 1 添加TeeChart控件,给控件添加变量m_TeeChart 添加TeeChart控件,右击控件, ...

  2. 怎样在VS2013/MFC中使用TeeChart绘图控件

    TeeChart作为一款强大好用的绘图控件,通过它可以绘制出各式各样的图表,包括2D的,还有3D的,绘制的图表美观实用,这里主要讲述如何在VS2013/MFC中使用TeeChart控件,顺便说一下在V ...

  3. WPF 在绘图控件(Shape)中添加文字 [2018.7.15]

    原文:WPF 在绘图控件(Shape)中添加文字 [2018.7.15] Q:使用Shape的子类Ellipse画一个圆,如何在圆中添加文字? A:Shape类中不包含Text属性.可使用Shape类 ...

  4. paper 139:qt超强绘图控件qwt - 安装及配置

    qwt是一个基于LGPL版权协议的开源项目, 可生成各种统计图.它为具有技术专业背景的程序提供GUI组件和一组实用类,其目标是以基于2D方式的窗体部件来显示数据, 数据源以数值,数组或一组浮点数等方式 ...

  5. C# 导出一个控件的矢量图

    调用Control.DrawToBitmap(Bitmap) 方法是很容易得到控件的图形的. 但是bitmap是栅格化图形.栅格化图形有很多缺点,比如文件体积比较大. 放大后失真. 不易编辑等等. 这 ...

  6. VS2010 使用TeeChart绘图控件 - 之一 - 控件和类的导入

    vs2010的用法和vc6有很大的不同,特别是在一些函数调用那里,当然.控件导入也是很不一样的 安装好控件后就可以在工程里加入teechart控件了 加入方法有如下几种: 1.添加Teechart控件 ...

  7. PaintView 绘图控件解析

    博客地址:博客园,版权所有,转载须联系作者. GitHub地址:JustWeTools 最近做了个绘图的控件,实现了一些有趣的功能. 先上效果图: PaintView画图工具: 1.可直接使用设定按钮 ...

  8. Flex 列表控件中的操作

    主要操作包括:显示提示,使用图标,编辑列表条目中数据. 1.使用数据提示: 当鼠标停留在条目上时,可以显示该条目的相关数据提示. 当利用滚动条时,可以显示滚动条的相关提示. 在列表控件中使用showD ...

  9. 修复duilib CEditUI控件和CWebBrowserUI控件中按Tab键无法切换焦点的bug

    转载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/41556615 在duilib中,按tab键会让焦点在Button一类的控 ...

随机推荐

  1. SLAM初探-SLAM for Dummies

    SLAM综述性特别是原理讲述比较浅显易懂的的资料比较少,相对比较知名的是<SLAM for Dummies>,但中文资料相对较少,这里就简单概述一下<SLAM for Dummies ...

  2. JFinal - 事务实现的原理

    使用声明式事务 事务类本身就是一个拦截器,可以用注解的方式配置.方法内部的所有 DML 操作都将在本次事务之内. 配置代码如下: @Before(Tx.class) public void saveP ...

  3. Cocos2d-x 核心概念 - 坐标系(UI.OpenGL.世界坐标系.模型坐标系)

    UI坐标系与OpenGL坐标系 UI坐标就是Android和IOS等应用开发时候使用的二维坐标系,原点在左上角 OpenGL坐标是三维坐标,由于Cocos2d-x Lua 底层采用OpenGL渲染,因 ...

  4. G将军的敢死队——树状DP

    当前节点的两种情况: 1.beChoosed = {son.beAbandoned乘积} //当前节点选中的情况下,子节点都不能选 2.beAbandoned = {(son.beAbandoned ...

  5. md语法之行内代码和代码片

    md语法之行内代码和代码片 比如说要在行内写上一句或者半句代码(代码的意思就是某种脚本语言), 用撇号围起来就可以了. 比如: import pandas as pd 写代码片(单独的一块脚本语言)的 ...

  6. Redis中的客户端redis-cli 命令总结

    1.连接操作相关的命令quit:关闭连接(connection)auth:简单密码认证 2.对value操作的命令exists(key):确认一个key是否存在del(key):删除一个keytype ...

  7. gvim 快速编辑例子

    1 准备工作 首先, 我们打开 VIM, 输入一段文本,  用于今天的演示: this is a test 2 查找替换 按几下 ESC 进入 Normal 模式, 输入以下命令: :%s/ /\r/ ...

  8. vue切换按钮(关闭消失型)

    弹窗: <div class="pop" v-show="isShow"> <i class="iconfont icon-icon ...

  9. 实验三——for 语句及分支结构else-if

    1.本节课学习到的知识点:在本次课中,我学习了for语句的使用,认识了for语句的执行流,明确了三种表达式的意义.以及最常用的实现多分支的else-if语句. 2.实验过程中遇到的问题及解决方法:在本 ...

  10. SASS的安装及使用(前提:安装Ruby)

    本文仅适用于Windows系统. 一.安装Ruby Sass是用Ruby语言写的,但是两者的语法没有关系,所以学 Sass 不用学 Ruby,只是必须先安装Ruby,然后再安装Sass. Linux和 ...