关于图表数据的来源:

1、通过XValueMember YValueMembers 设置


OleDbConnection conn = new OleDbConnection(connStr);
OleDbCommand comm = new OleDbCommand(); string sqlstr = "select * from OriginalData order by ID";
OleDbDataAdapter myda ;
DataSet myds= new System.Data.DataSet(); try
{
conn.Open();
myda = new OleDbDataAdapter(sqlstr, conn);
//myds = new System.Data.DataSet();
myda.Fill(myds, "OriginalData"); }
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close(); } chart1.DataSource = myds.Tables["OriginalData"];
chart1.Series[0].XValueMember = "PositionV";
chart1.Series[0].YValueMembers = "LoadV";
//chart1.Series[0].XValueType = ChartValueType.Date; //chart1.Series[0].Label = "#VAL"; //显示对应点的值
chart1.Series[0].ToolTip = "#VALX : #VAL"; //鼠标在曲线图上时 显示对应点的值
chart1.Series[0].ChartType = SeriesChartType.Line;

  2、用新定义的DataTable类型的dt来绑定

       DataTable dt = new System.Data.DataTable();

            AccessHelper  ach= new AccessHelper(fileName);
string sqlstr = "select LoadValue ,PositionValue from OriginalData order by ID";
dt = ach.GetDataTableFromDB(sqlstr);
chart1.DataSource = dt; chart1.Series[0].XValueMember = dt.Columns[0].ColumnName; chart1.Series[0].YValueMembers = dt.Columns[1].ColumnName; chart1.Series[0].ChartType = SeriesChartType.Line; ach.ClostConn();

  3、用类似chart1.Series[0].Points.DataBindXY(iXAxis,fTargetOT);中的DataBindXY(X,Y)来绑定数据。。其中,X是一个数组,Y也是数组,在绑定之前需要对数组中的每个元素赋值

DataTable dt = new System.Data.DataTable();

            AccessHelper ach = new AccessHelper(fileName);
string sqlstr = "select LoadV ,PositionV from OriginalData order by ID";
dt = ach.GetDataTableFromDB(sqlstr);
////chart1.DataSource = dt; ////chart1.Series[0].XValueMember = dt.Columns[0].ColumnName; ////chart1.Series[0].YValueMembers = dt.Columns[1].ColumnName;
////chart1.Series[0].ChartType = SeriesChartType.Line;
int count = dt.Rows.Count;
if (count == 0)
{
return;
}
double[] loadValueArray = new double[count];
double[] posArray= new double[count];
for (int i = 0; i < count; i++)
{
loadValueArray[i] = Convert.ToDouble(dt.Rows[i][0].ToString());
posArray[i] = Convert.ToDouble(dt.Rows[i][1].ToString()); }
chart1.Series[0].Points .DataBindXY(loadValueArray,posArray);

  此种方式,适合,读过来的数据需要进行处理的情况,如果不需要处理,而且列特别多,则不建议使用这种方式,用方式二比较方便。

4、来自单独的数据,动态添加序列  通过定时器 实时调用

chart3.Series.Clear();

Series seriesDownTime =newSeries("DownTime");//此时就添加一个序列,chart3.Series[0]

seriesDownTime.ChartType =SeriesChartType.Column;

//比如要添加的内容放在了数组X和数组Y中,则添加第一个值可以如下添加:

seriesDownTime.Points.AddXY(X[n],Y[n]);

下一个值与之类似,直到把很少的几个点添加完成即可。。。

此种方式适合要显示在图表上的只有少量的几个点,如果数据众多,建议按集合来添加。

C# Chart使用总结 1 ---------关于图表数据的来源的更多相关文章

  1. HTML5线性图表 图表数据区域可着色

    这是一款基于Canvas的HTML5图表应用,在图表数据初始化的时候伴随动画效果. 在线演示: 点击演示 源代码下载: 点击下载 核心jQuery代码: var myData = {   labels ...

  2. 将Highcharts图表数据生成Table表格

    有的时候,我们不仅仅需要漂亮的统计图来显示统计结果,还需要在统计图下方一个表格可以更加直观的展现各类数据.既然统计图都显示出来了,那我们可以根据统计图的各元素生成表格了. 首先,先显示统计图. Htm ...

  3. echarts.js多图表数据展示使用小结

    echarts api文档: http://echarts.baidu.com/echarts2/doc/doc.html echarts demo示例: http://echarts.baidu.c ...

  4. Echarts使用及动态加载图表数据 折线图X轴数据动态加载

    Echarts简介 echarts,缩写来自Enterprise Charts,商业级数据图表,一个纯JavaScript的图表库,来自百度...我想应该够简洁了 使用Echarts 目前,就官网的文 ...

  5. C# 添加、修改、删除Excel图表数据标签

    图表中,图表数据标签以数据化形式表现图表中的特定数据,可增强图表的可读性.我们可以对图表添加数据标签,也可以对已有的数据标签进行修改或者删除,下面将通过C#代码形式来实现. 使用工具:Spire.XL ...

  6. 利用 Flask 动态展示 Pyecharts 图表数据的几种方法

    本文将介绍如何在 web 框架 Flask 中使用可视化工具 pyecharts, 看完本教程你将掌握几种动态展示可视化数据的方法,不会的话你来找我呀- Flask 模板渲染 1. 新建一个项目fla ...

  7. GapMinder气泡图:在线互动图表数据平台

    GapMinder:在线互动图表数据平台是一个将国际统计数据转换成活动的.交互的和有趣的图表,以在线统计数据为基础的互动图表集的完美世界.目的是通过增进对可以自由访问的公共统计数据的使用和理解,以促进 ...

  8. Grafana 利用Grafana Variables变量配置快速切换不同主机的图表数据展示

    用Grafana Variables变量配置快速切换不同主机的图表数据展示   by:授客 QQ:1033553122 测试环境 需求描述 操作步骤 结果展示 测试环境 influxdb-1.5.2. ...

  9. 跨平台图表控件TeeChart使用教程:将图表数据导出为XML格式

    在开发者使用TeeChart进行开发的过程中,不管是在设计时或者运行时都可以使用的图表导出对话框将图表数据轻易地导出为XML格式: TeeChart最新版那下载地址 上图为TeeChart导出对话框的 ...

随机推荐

  1. python 全栈开发,Day29(昨日作业讲解,模块搜索路径,编译python文件,包以及包的import和from,软件开发规范)

    一.昨日作业讲解 先来回顾一下昨日的内容 1.os模块 和操作系统交互 工作目录 文件夹 文件 操作系统命令 路径相关的 2.模块 最本质的区别 import会创建一个专属于模块的名字, 所有导入模块 ...

  2. 【C++】类前置声明范例

    • 在编写C++程序的时候,偶尔需要用到前置声明(Forward declaration).下面的程序中,带注释的那行就是类B的前置说明.这是必须的,因为类A中用到了类B,而类B的声明出现在类A的后面 ...

  3. redis 持久化 AOF和 RDB 引起的生产故障

    概要       最近听开发的同事说,应用程序连接 redis 时总是抛出连接失败或超时之类的错误.通过观察在 redis 日志,发现日志中出现 "Asynchronous AOF fsyn ...

  4. Trident简介

    1.引入 0.7版本:多条记录封装成批量,引入事务控制. 0.9版本:丢弃事务API,开始基于Storm之上的框架. 2.介绍 3.批次划分与事务实现 二:事务管理 4.事务处理机制 不透明事务:增加 ...

  5. 子域名收集之DNS字典爆破工具fierce与dnsdict6的使用

    子域名收集之DNS字典爆破工具fierce与dnsdict6的使用 一.fierce 0.介绍 该工具是一个域名扫描综合性工具.它可以快速获取指定域名的DNS服务器,并检查是否存在区域传输(Zone ...

  6. HTTP协议学习笔记(二)

    HTTP协议学习笔记(二) 1.HTTP报文 HTTP报文:用于HTTP协议交互的信息.请求报文:请求端(客户端)的HTTP报文叫做请求报文.响应报文:响应端(服务端)的HTTP报文叫做响应报文. H ...

  7. c# 深入探索之CLR

    概念: CLR : 公共语言运行时(Common Language Runtime) 是一个可由多种编程语言使用的"运行时",它负责资源管理(内存分配和垃圾收集等),并保证应用和底 ...

  8. BASH if/while/until loop

    #/bin/bash ]; then counter=" counter1=" echo "for loop:" $); do echo $i done ); ...

  9. VUE 2.x SEO 优化问题 vue-meta-info && prerender-spa-plugin 配合使用

    VUE 2.x  SEO  优化问题,以及预渲染问题 1.新建项目可以采用nuxt.js , 配置meta.以及预渲染 都很方便,官网文档都很详细: 2.对于已有项目: vue-meta-info & ...

  10. 浅谈CSS和JQuery实现鼠标悬浮图片放大效果

    对于刚刚学习网页前台设计的同学一定对图片的处理非常苦恼,那么这里简单的讲解一下几个图片处理的实例. 以.net为平台,微软的Visual Studio 2013为开发工具,当然前台技术还是采用CSS3 ...