C# Chart使用总结 1 ---------关于图表数据的来源
关于图表数据的来源:
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 ---------关于图表数据的来源的更多相关文章
- HTML5线性图表 图表数据区域可着色
这是一款基于Canvas的HTML5图表应用,在图表数据初始化的时候伴随动画效果. 在线演示: 点击演示 源代码下载: 点击下载 核心jQuery代码: var myData = { labels ...
- 将Highcharts图表数据生成Table表格
有的时候,我们不仅仅需要漂亮的统计图来显示统计结果,还需要在统计图下方一个表格可以更加直观的展现各类数据.既然统计图都显示出来了,那我们可以根据统计图的各元素生成表格了. 首先,先显示统计图. Htm ...
- echarts.js多图表数据展示使用小结
echarts api文档: http://echarts.baidu.com/echarts2/doc/doc.html echarts demo示例: http://echarts.baidu.c ...
- Echarts使用及动态加载图表数据 折线图X轴数据动态加载
Echarts简介 echarts,缩写来自Enterprise Charts,商业级数据图表,一个纯JavaScript的图表库,来自百度...我想应该够简洁了 使用Echarts 目前,就官网的文 ...
- C# 添加、修改、删除Excel图表数据标签
图表中,图表数据标签以数据化形式表现图表中的特定数据,可增强图表的可读性.我们可以对图表添加数据标签,也可以对已有的数据标签进行修改或者删除,下面将通过C#代码形式来实现. 使用工具:Spire.XL ...
- 利用 Flask 动态展示 Pyecharts 图表数据的几种方法
本文将介绍如何在 web 框架 Flask 中使用可视化工具 pyecharts, 看完本教程你将掌握几种动态展示可视化数据的方法,不会的话你来找我呀- Flask 模板渲染 1. 新建一个项目fla ...
- GapMinder气泡图:在线互动图表数据平台
GapMinder:在线互动图表数据平台是一个将国际统计数据转换成活动的.交互的和有趣的图表,以在线统计数据为基础的互动图表集的完美世界.目的是通过增进对可以自由访问的公共统计数据的使用和理解,以促进 ...
- Grafana 利用Grafana Variables变量配置快速切换不同主机的图表数据展示
用Grafana Variables变量配置快速切换不同主机的图表数据展示 by:授客 QQ:1033553122 测试环境 需求描述 操作步骤 结果展示 测试环境 influxdb-1.5.2. ...
- 跨平台图表控件TeeChart使用教程:将图表数据导出为XML格式
在开发者使用TeeChart进行开发的过程中,不管是在设计时或者运行时都可以使用的图表导出对话框将图表数据轻易地导出为XML格式: TeeChart最新版那下载地址 上图为TeeChart导出对话框的 ...
随机推荐
- ECMAscript5 新增数组内函数
indexOf() 格式:数组.indexOf(item, start) 功能:从start这个下标开始,查找item在数组中的第一次出现的下标. 参数:item 我们要去查找的元素 start从哪个 ...
- python 全栈开发,Day103(微信消息推送,结算中心业务流程)
昨日内容回顾 第一部分:考试题(Python基础) 第二部分:路飞相关 1. 是否遇到bug?难解决的技术点?印象深刻的事? - orm操作费劲 - 最开始学习路由系统时候,匹配规则: 答案一: 有, ...
- python 全栈开发,Day80(博客系统分析,博客主页展示)
一.博客系统分析 数据库的构建 首先,我们分析一个博客系统的功能: 一个博客可以有多个标签(多对多) 一个博客可以有多条评论(一对多) 一个博客只可以有一个类别(多对一) 接下来,我们分析关系的属性: ...
- 《JavaScript 高级程序设计》第三章:基本概念
目录 语法 标识符 严格模式 关键字 保留字 变量 数据类型 运算符 表达式与语句 语法 "语法"指的是一门语言的书写风格,JavaScript 的语法风格很类似于 C 以及 Ja ...
- 【BZOJ4919】[Lydsy六月月赛]大根堆
题解: 我觉得数据结构写成结构体还是有必要的 因为不然一道题里出现了两个相同的数据结构由于名字很像很容易出错 另外初始化用segmenttree(){ } 首先裸的dp很好想 f[i][j]表示在i点 ...
- P2484 [SDOI2011]打地鼠
差分 代码: #include <bits/stdc++.h> using namespace std; #define INF 1999999999 ][],b[][],c[][]; i ...
- NodeMCU入门(1):刷入At固件,透传数据到TcpServer和Yeelink平台
准备工作 1. NodeMCU LUA ESP8266 CP2102 WIFI Internet Development Board,仔细看背面可以看出自带cp2102模块,可以通过普通的手机充电 ...
- 6-5 移动的盒子 uva12657
较为复杂的一题:有点类似6-1 但是分析完之后比6-1简单 就是按照思路模拟就好! 学会了双向链表 先初始化 link是关键 分析命令 可以大大简化代码 : 反转链表不用反转 改 ...
- centos7 安装步骤
这里选择64位 32位没有找到网卡... 注:这里是网络类型分配,网络类型分配分为三种,Bridge,NAT和Host-Only,大概区别是 1 BRIDGE 桥接:相当于主机和虚拟机连接到同一个h ...
- js算法初窥03(搜索及去重算法)
前面我们了解了一些常用的排序算法,那么这篇文章我们来看看搜索算法的一些简单实现,我们先来介绍一个我们在实际工作中一定用到过的搜索算法——顺序搜索. 1.顺序搜索 其实顺序搜索十分简单,我们还是以第一篇 ...