关于图表数据的来源:

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. C# 收发和处理自定义的WINDOWS消息

    C# 发送.接收和处理自定义的WINDOWS消息 转载地址:http://blog.chinaunix.net/uid-24427209-id-2608350.html 为了程序启动后自动执行主函数, ...

  2. Python 2维数组90度旋转

    一.二维列表 a = [[col for col in range(4)] for row in range(4)] [[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3] ...

  3. linux shell cut 命令

    cut命令 cut命令用于从文件或者标准输入中读取内容并截取每一行的特定部分并送到标准输出. 截取的方式有三种:一是按照字符位置,二是按照字节位置,三是使用一个分隔符将一行分割成多个field,并提取 ...

  4. 求链表的倒数第m个元素

    法一: 首先遍历一遍单链表,求出整个单链表的长度n,然后将倒数第m个,转换为正数第n-m+1个,接下去遍历一次就可以得到结果. 不过这种方法需要对链表进行两次遍历,第一次遍历用于求解单链表的长度,第二 ...

  5. TNS:listener does not currently know of service requested in connect descriptor错误改正

    (SID_LIST = (SID_DESC =  (SID_NAME = PLSExtProc)  (ORACLE_HOME = E:\oracle\product\10.2.0\db_1)  (PR ...

  6. 更改具有Foreign key约束的表

    1.Foreign key 说明: foreign key(外键) 建立起了表与表之间的约束关系,让表与表之间的数据更具有完整性和关联性.设想,有两张表A.B,A表中保存了许多电脑制造商的信息,比如联 ...

  7. 初探和实现websocket心跳重连(npm: websocket-heartbeat-js)

    提示:文章最下方有仓库地址 心跳重连缘由 websocket是前后端交互的长连接,前后端也都可能因为一些情况导致连接失效并且相互之间没有反馈提醒.因此为了保证连接的可持续性和稳定性,websocket ...

  8. ThreadPoolExecutor 源码阅读

    目录 ThreadPoolExecutor 源码阅读 Executor 框架 Executor ExecutorService AbstractExecutorService 构造器 状态 Worke ...

  9. Java设计模式从精通到入门三 策略模式

    介绍 我尽量用最少的语言解释总结: Java23种设计模式之一,属于行为型模式.一个类的行为或者算法可以在运行时更改,策略对象改变context对象执行算法. 应用实例: ​ 以周瑜赔了夫人又折兵的例 ...

  10. @Resource 注解的使用

      1.@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上. 2.@Autowired默认按类型装配(这个注解是属业spring的),默认情况 ...