最近在项目中用到了Chart控件,没有使用LiveChart,因为数据量很大,LiveChart太占内存了。
本项目使用的是VS2013 .NETFramework4.5
Chart控件的所在库是:System.Windows.Forms.DataVisualization.dll
需要自行添加该库的引用
/// <summary>
/// 设置曲线
/// </summary>
/// <param name="dt1">数据来源</param>
/// <param name="chart1">控件</param>
private void SetChart(DataTable dt1, Chart chart1)
{
try
{
chart1.ChartAreas.Clear();
ChartArea chartArea1 = new ChartArea("X");//定义曲线所在区域
chartArea1.AxisX.Interval = dt1.Rows.Count / 10;//设置曲线X轴的间隔
chart1.ChartAreas.Add(chartArea1);
chart1.Series.Clear();
Series series1 = new Series();//设置图表中的折线或支持的图表的对象
series1.ChartArea = "X";//图表所属的区域
chart1.Series.Add(series1);//添加点位1
chart1.Series[0].ChartType = SeriesChartType.Spline;//设置图表的显示方式,我用的是折现图
chart1.Series[0].LegendText = "X轴值";//图例说明
Series serices2 = new Series();//第2条折线
serices2.ChartArea = "X";
chart1.Series.Add(serices2);
chart1.Series[1].ChartType = SeriesChartType.Line;
chart1.Series[1].LegendText = "Y轴值";
Series serices3 = new Series();//第3条折线
serices3.ChartArea = "X";
chart1.Series.Add(serices3);
chart1.Series[2].ChartType = SeriesChartType.Line;
chart1.Series[2].LegendText = "Z轴值";
Legend legend1 = new Legend();//添加图例类,如果不添加此类是不会显示图例的
legend1.Docking = Docking.Left;//图例显示的位置
chart1.Legends.Add(legend1);//添加图例
for (int i = 0; i < dt1.Rows.Count; i++)
{
chart1.Series[0].Points.AddXY(dt1.Rows[i]["Time"].ToString(), double.Parse(dt1.Rows[i]["XValue"].ToString()));//第一条折线绑定X轴和Y轴的数据
chart1.Series[1].Points.AddXY(dt1.Rows[i]["Time"].ToString(), double.Parse(dt1.Rows[i]["YValue"].ToString()));//第二条折线绑定X轴和Y轴的数据
chart1.Series[2].Points.AddXY(dt1.Rows[i]["Time"].ToString(), double.Parse(dt1.Rows[i]["RawValue"].ToString()));//第三条折线绑定X轴和Y轴的数据
}
}
catch (Exception ex)
{
System.Windows.MessageBox.Show("错误信息:" + ex.Message);
}
}
WPF界面设置
效果图
文章浏览阅读685次。大多数语言的正则表达式都是由“/”作为定界符的,而在PHP中,还可以使用“#”定界,如果字符串中包含大量“/”字符,在使用“/”定界的时候,就需要对这些“/”转义,而使用“#”就不需要转义,更简洁。而正则表达式必须要使用定界符包围起来,在Javascript中定界符是“/”,而在PHP中,比较常见的是用“/”定界,也可以用“#”定界,而且外面还需要用引号包围起来。也就是说所有正则字符都有特定含义,如果需要再用来表示原字符含义,就需要在前面加“\”转义,即使非正则字符,用“\”转义也是没有问题的。_preg_replace
文章浏览阅读397次。目录需求:用POI写一个Word并导出需求:用POI写一个Word并导出想到一个小品,问把大象装冰箱需要几步?_poi生成word 在cell中新建p
文章浏览阅读4.6k次,点赞17次,收藏72次。前言此文章为本人利用课余时间进行的ISTQB初级认证知识和考点的总结。总结过程主要参考了“ISTQB测试人员认证初级大纲(2011版)”,由于作者能力与精力有限,此篇文章可能会存在纰漏,望见谅并及时指出。谢谢!ISTQB思维脑图上图中红色字体部分为重要考点和易错点。ISTQB(初级)知识和考点总结软件测试基础(1)为什么需要测试(1.1)缺陷带来的危害(1.1.1)资金受..._istqb初级
文章浏览阅读2.3k次。第五十一章 基于OV5640摄像头的中值滤波实验_正点原子中值滤波
文章浏览阅读1.8k次。在本文中,我们使用Qt C++中创建了一个无边框窗体,并实现自定义缩放和拖动功能。我们利用标志隐藏了窗体的边框,并通过事件过滤器监听了窗体和顶部栏的事件,从而实现了窗口的拖动和缩放功能。我们还通过辅助函数判断鼠标所处的边缘区域,并设置相应的鼠标样式,提供了直观的用户反馈。_qt无边框窗口缩放
文章浏览阅读1.3k次。1. 在Mac上通过ssh连接谷歌云上的服务器实例(1)先从本地mac电脑中通过一段简单的命令获得钥匙ssh-keygen -t rsa -f ~/.ssh/google_sem_key(生成key的文件名) -C **(服务器的用户名) -b 2048执行命令会,会让你输入并确认密码,这里直接确认即可然后输入以下命令进入.ssh目录并用ls命令列出当前目录下的文件内容cat google_sem_key.pub你会找到一大串乱码,复制下来。(2)登录谷歌云账户,_mac ssh sftp
文章浏览阅读1.6k次。2061:【例1.2】梯形面积_c++梯形面积保留小数点后两位
文章浏览阅读192次。一、网络应用层编程1、Linux网络编程01——网络协议入门2、Linux网络编程02——无连接和面向连接的区别3、Linux网络编程03——字节序和地址转换4、Linux网络编程04——套接字5、Linux网络编程05——C/S与B/S架构的区别6、Linux网络编程06——UDP协议编程7、Linux网络编程07——广播8、Linux网络编程08——多播9、Linux网络编程09——TCP编程之客户端10、Linux网络编程10——TCP编程之服务器11、Linux网络编程11—_linux 高级网络编程.doc
文章浏览阅读1.1w次。如果box.length >= key.length,则先将box转为小写模式,然后将box转为数组字典序排序,接下来利用两个指针k,j,分别从key的0索引位置,和box的0索引位置开始扫描,如果扫描到的key[k] == box[j],则k++,j++,否则只有j++。每个箱子中都有一个 字符串s ,字符串由大写字母、小写字母、数字、标点符号、空格组成,需要在这些字符串中找到所有的字母,忽略大小写后排列出对应的密码串,并返回匹配密码的箱子序号。如不存在符合要求的密码箱,则返回 -1。_华为 机试 2023 site:csdn.net
文章浏览阅读2.7k次,点赞4次,收藏17次。这是 Jerry 2022 年第二篇原创文章,也是本公众号第 370 篇原创文章。之前有一个朋友在知乎上向我咨询过这个问题,我觉得很有代表性,所以专门用一篇文章来讲述一些相关知识点。先看这位朋友遇到的具体问题。用 Postman 调用第三方接口,里面的中文字符能够正常显示。然而当用 ABAP 的 HTTP 工具类 CL_HTTP_CLIENT 的 response->get_data( ) 读取响应之后,发现里面的中文字符,例如 “访问成功” 是乱码:首先明确一点,既然 Postman_abap sicf接收边乱码
文章浏览阅读215次。animate():用户自定义动画jQuery标签变量名 . animate({"css属性名1" : "css属性" , "css属性名2" : "css属性" , "css属性名3" : "css属性" } , 动画持续毫秒时间)animate基本上只支持位置和尺寸相关的动画。其他的基本都不支持。如果要颜色的动画,可以使用css3,用js来切换class,达到控制。
文章浏览阅读5.4k次,点赞4次,收藏32次。机器学习之超参数优化 - 网格优化方法(随机网格搜索)_网格搜索参数优化