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

        
//折线图
       string strLegend = "Legend1";
Legend lg = new Legend(strLegend);
lg.IsDockedInsideChartArea = false;
lg.TitleAlignment = System.Drawing. StringAlignment.Center;
chart1.Legends.Add(lg); ChartArea ca = new ChartArea();
ca.AxisX.MajorGrid.Enabled = false;
ca.AxisX.MajorTickMark.Enabled = false;
ca.AxisY.MajorGrid.LineDashStyle = ChartDashStyle.NotSet;
int index = ;
Series MyScore = new Series( "我的得分" );
MyScore.ChartType = SeriesChartType.Line;
MyScore.Legend = "Legend1";
MyScore.ChartArea = "ChartArea1";
MyScore.BorderWidth = ;
Series HighScore = new Series( "最高分" );
HighScore.ChartType = SeriesChartType.Line;
HighScore.Legend = "Legend1";
HighScore.ChartArea = "ChartArea1";
MyScore.BorderWidth = ;
Series AvgScore = new Series( "平均分" );
AvgScore.ChartType = SeriesChartType.Line;
AvgScore.Legend = "Legend1";
AvgScore.ChartArea = "ChartArea1";
MyScore.BorderWidth = ;
foreach (DataRow dr in m_table.Rows)
{
DataPoint dp;
if (dr["MyScore" ] == null)
continue;
dp = new DataPoint (index, Convert.ToDouble(dr["MyScore" ]));
dp.AxisLabel = dr[ "Name"].ToString();
dp.Label = Convert.ToInt32(dr["MyScore" ]).ToString();
dp.BorderWidth = ;
dp.MarkerStyle = System.Windows.Forms.DataVisualization.Charting.MarkerStyle .Star10;
MyScore.Points.Add(dp);
dp = new DataPoint (index, Convert.ToDouble(dr["HighScore" ]));
dp.AxisLabel = dr[ "Name"].ToString();
dp.Label = Convert.ToInt32(dr["HighScore" ]).ToString();
dp.BorderWidth = ;
dp.MarkerStyle = System.Windows.Forms.DataVisualization.Charting.MarkerStyle .Star10;
HighScore.Points.Add(dp);
dp = new DataPoint (index, Convert.ToDouble(dr["AvgScore" ]));
dp.AxisLabel = dr[ "Name"].ToString();
dp.Label = Convert.ToInt32(dr["AvgScore" ]).ToString();
dp.BorderWidth = ;
dp.MarkerStyle = System.Windows.Forms.DataVisualization.Charting.MarkerStyle .Star10;
AvgScore.Points.Add(dp);
index++;
}
chart1.Series.Add(MyScore);
chart1.Series.Add(HighScore);
chart1.Series.Add(AvgScore);
chart1.ChartAreas.Add(ca);
         
//柱形图
          string strLegend = "Legend1" ;
Legend lg = new Legend(strLegend);
lg.IsDockedInsideChartArea = false;
lg.TitleAlignment = System.Drawing.StringAlignment .Center;
chart1.Legends.Add(lg); ChartArea ca = new ChartArea();
ca.AxisX.MajorGrid.Enabled = false;
ca.AxisX.MajorTickMark.Enabled = false;
ca.AxisY.MajorGrid.LineDashStyle = ChartDashStyle.NotSet;
int index = ;
foreach (DataRow dr in dt.Rows)
{
Series s = new Series(dr["CourseTermName" ].ToString());
s.ChartType = SeriesChartType.Column;
s.Legend = "Legend1";
s.ChartArea = "ChartArea1";
DataPoint dp;
dp = new DataPoint (index, Convert.ToDouble(dr["Score" ]));
dp.AxisLabel = dr[ "CourseTermName"].ToString();
dp.Label = Convert.ToInt32(dr["Score" ]).ToString();
dp.MarkerStyle = System.Windows.Forms.DataVisualization.Charting.MarkerStyle .Star10;
s.Points.Add(dp);
chart1.Series.Add(s);
index++;
}
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. DataTables 自定义

    自定义取的参数方法 getQueryCondition = function(data) { var param = {}; ]) { param.order =data.columns[data.o ...

  2. maven命令参考简要

    命令参考简要说明 mvn archetype:generate — 创建生成Tiny骨架工程 参数名 说明 groupId 用户项目的包目录,用户需要根据实际情况设置.比如com.abc artifa ...

  3. iOS runtime 知识点整理

    // ------ 动态创建类, 添加成员变量, 赋值并调用动态添加的方法 ------- @implementation ViewController - (void)viewDidLoad { [ ...

  4. 锁相关知识 & mutex怎么实现的 & spinlock怎么用的 & 怎样避免死锁 & 内核同步机制 & 读写锁

    spinlock在上一篇文章有提到:http://www.cnblogs.com/charlesblc/p/6254437.html  通过锁数据总线来实现. 而看了这篇文章说明:mutex内部也用到 ...

  5. JQuery_处理元素和浏览器的窗口的尺寸

    一.jQuery width() 和 height() 方法 width() 方法设置或返回元素的宽度(不包括内边距.边框或外边距). height() 方法设置或返回元素的高度(不包括内边距.边框或 ...

  6. ios视图frame和bounds的对比

    bounds坐标:自己定义的坐标系统,setbound指明了本视图左上角在该坐标系统中的坐标,   默认值(0,0) frame坐标:  子视图左上角在父视图坐标系统(bounds坐标系统)中的坐标, ...

  7. webbench---linux压测工具

    webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好用,安装使用也特别方便,并且非常小. 1.适用系统:Linux-CentOs 2.编译安 ...

  8. 解决NGUI自动被设置LYAER

    解决NGUI自动被设置LYAER uiwidget.cs1011行public void checklayer()这里修改 可以让LAYER不跟随父物体变动 但是这里有个问题 摄像机的CULL 不会被 ...

  9. Entity framework在用于WCF时创建数据模型的问题

    众所周知,WCF的传输对象,在创建时需要在类名上标识[DataContract]以及在属性上标识[DataMember],当我们在使用Entity framework时(不考虑Code first的情 ...

  10. SPSS数据分析—多分类Logistic回归模型

    前面我们说过二分类Logistic回归模型,但分类变量并不只是二分类一种,还有多分类,本次我们介绍当因变量为多分类时的Logistic回归模型. 多分类Logistic回归模型又分为有序多分类Logi ...