此项目源码下载地址:https://github.com/lizhiqiang0204/WpfLineChartV1.1

效果图如下:

此项目把折线图制作成了一个控件,在主界面设置好参数直接调用即可,下面是主程序片段

        public MainWindow()
{
InitializeComponent();
userControl1_Para.xGrap = ;//设置X轴相邻采集点的间隔
userControl1_Para.xGrapLable = ;//设置X轴时间标签的间隔
userControl1_Para.xGrapLablePoint = userControl1_Para.xGrapLable/ userControl1_Para.xGrap;//相邻两个时间标签内有多少个采集点
userControl1_Para.xWidth = userControl.Width - ;
userControl1_Para.yGrap = -;
userControl1_Para.yStartValue = ;
userControl1_Para.yGrapLable = ;
userControl1_Para.yLables = ((int)userControl.Height - ) / userControl1_Para.yGrapLable;
userControl.myCanvasInit(userControl1_Para); }
private void timer_Tick(object sender, EventArgs e)
{
y = y + 0.1; //随机生成Y坐标
//collectPoint.point = new Point(i, (new Random()).Next(0, 100));
collectPoint.point = new Point(x, Math.Sin(y)*+);
collectPoint.curTime = DateTime.Now;
userControl.AddPoint1(collectPoint);
}

类库添加点的函数

        public void AddPoint1(CollectPoint collectPoint)
{
x = x + userControl1_Para.xGrap;
collectPoint.point.X = x; //移动背景不移动点
double xMove = collectPoint.point.X * (-) + userControl1_Para.xWidth;
_myPolyline.Points.Add(collectPoint.point);//添加新的数据点
_myCanvas.Margin = new Thickness(xMove, , , );//设置外边距实现移动,放大缩小 //移动X轴标签背景
TextBlock xText = new TextBlock();
xText.Visibility = Visibility.Hidden;
xText.SetValue(Grid.RowProperty, ); //设置按钮所在Grid控件的行
xGrid.Children.Add(xText);//为每个点添加对应的时间值
xText.Text = collectPoint.curTime.ToString("HH:mm:ss");
xText.Margin = new Thickness(collectPoint.point.X, , , );
collectPoints.Add((new CollectPoint() { point = collectPoint.point, curTime = collectPoint.curTime }));
xLableCanvas.Margin = new Thickness(xMove, , , );//设置外边距实现移动,放大缩小 if (xMove % userControl1_Para.xGrapLable == )
xText.Visibility = Visibility.Visible; if (collectPoint.point.X > userControl1_Para.xWidth)
{
_myPolyline.Points.RemoveAt();
collectPoints.RemoveAt();
xGrid.Children.RemoveAt();
}
}

本人也是新手,代码规范写的不是很好,见谅!

WPF动态折线图的更多相关文章

  1. achartengine画出动态折线图

    achartengine画出动态折线图的效果最近有个项目需要用到实时曲线图,我也上网搜索了一下,最后还是选择使用achartengine这个现成的东西,毕竟自己再canvas一下实在是太麻烦,而且项目 ...

  2. 模拟Windows任务管理器CPU使用率的动态折线图-农夫山泉

    Delphi的TCanvas类可以实现各种复杂的图形输出功能,基于近期项目的需求,利用它实现了一个很炫的动态折线图(模拟了资源管理器中CPU使用率的折线图),可以直观地展现出数值的实时变化情况. 这段 ...

  3. 原生JS实现动态折线图

    原生JS实现动态折线图 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> & ...

  4. 开发成功-cpu-mem监控动态折线图--dom esayui js java

    jsp ------------------------------------------------------------------------------------------- ---- ...

  5. Echarts 动态折线图

    <script src="http://echarts.baidu.com/build/dist/echarts-all.js"></script>< ...

  6. WPF、Silverlight项目中使用柱状图、饼状图、折线图

    在开发的过程中,可能会遇到柱状图.饼状图.折线图来更好的显示数据,最近整理了一下,遂放出来望需要的朋友可以参考.本文仅仅是简单显示,如需复杂显示效果请参考官网代码示例.----本文代码使用WPF,Si ...

  7. PHP实现动态生成饼状图、柱状图和折线图(转载)

    PHP在图像操作方面的表现非常出色,我们只需借助可以免费得到的GD库便可以轻松实现图.表勾画.下面将分别介绍PHP实现的饼状图.折线图和柱状图以 及他们的使用方法,这几段代码的特点就是不需要再把它们复 ...

  8. ECharts使用—折线图动态加载

    最近需求中用到折线图,单线条,多线交错,之前是散点图,用的是另一个 amcharts.js,这个文档也能找的到,回归早本次重点:ECharts 一.首先引入echarts.common.min.js文 ...

  9. ECharts动态获取后台传过来的json数据进行多个折线图的显示,折线的数据由后台传过来

    ECharts 多个折线图动态获取json数据 效果图如下: 一.html部分 <p id="TwoLineChart" style="width:100%; he ...

随机推荐

  1. GIT的API主要应用示例

    这几个简单的API应用,主要是通过TOKEN来获取GIT内空的例子. 但在获取GIT的文件列表时,要注意区分目录和文件的MODE差别( 100644 普通文件 040000 普通目录 ). impor ...

  2. [bzoj2850]巧克力王国_KD-Tree

    巧克力王国 bzoj-2850 题目大意:给出n块巧克力,每块巧克力都有自己的两个参数x和y和本身的价值val,询问:m个人,每个人有两个系数和一个限度a,b,和c.求所有ax+by<=c的巧克 ...

  3. Rails 教程

    Rails 教程 http://web.siwei.tech/ http://www.siwei.me/

  4. Geeks - Detect Cycle in a Directed Graph 推断图是否有环

    Detect Cycle in a Directed Graph 推断一个图是否有环,有环图例如以下: 这里唯一注意的就是,这是个有向图, 边组成一个环,不一定成环,由于方向能够不一致. 这里就是添加 ...

  5. [NetworkFlow]网络流建模相关

    流 网络流问题本质上是线性规划问题的应用之中的一个,线性规划问题的标准形式是给出一组等式约束和不等式约束.要求最优化一个线性函数. 在流问题中,变量以流量的形式出如今问题中,我们给出一个流网络(以有向 ...

  6. Android EditText技巧总结

    一.默认不获取焦点: 在布局文件的父控件中,设置如下属性: android:focusable="true" android:focusableInTouchMode=" ...

  7. bzoj5192: [Usaco2018 Feb]New Barns

    不想写看zory大佬 #include<cstdio> #include<iostream> #include<cstring> #include<cstdl ...

  8. 洛谷 P3515 [ POI 2011 ] Lightning Conductor —— 决策单调性DP

    题目:https://www.luogu.org/problemnew/show/P3515 决策单调性... 参考TJ:https://www.cnblogs.com/CQzhangyu/p/725 ...

  9. DCloud-MUI:代码块

    ylbtech-DCloud-MUI:代码块 1.返回顶部 1. 怎么用? html      此底色代表最小触发字符      此底色代表非必要完整触发字符 *需HBuilder7.1+,或者下载m ...

  10. iOS网络开发工具集----字符串操作和时间操作

    一.字符串的操作方法 #pragma mark - 创建字符串 - (void)CreatString { // <1> 创建字符串 NSString *strS = @"Thi ...