HighChat 动态绑定数据记录
最近刚开始做图形操作,纠结了一上午,highchat 动态绑定数据这块一直不知道怎么绑定,后来多次尝试,发现
1.x轴的数据是个数组格式,我从后台传到前台的时候,js中用数组进行处理数据,然后赋值到chat就不会报错,
2.y轴的数据和x轴数据还不一样,通过数组处理后发现还是无法显示。后来我在后台将数据添加了中括号[]括起来后,传到前台,然后前台在用eval()处理后就能够显示了
3.eval具有计算的功能,刚开始x轴的时候我用了eval对时间进行操作发现时间都是相减了,格式为:2017-07-27,格式居然为1998这样的。
下面是我的后台和前台的程序逻辑:
1.后台MVC控制器
1 public ActionResult Index()
2 {
3 return View();
4 }
5 public ActionResult GetAllReport()
6 {
7 var result = new { key = "2017-01-02,2017-01-02,2017-01-02,2017-01-02,2017-01-02,2017-01-02,2017-01-02,2017-01-02,2017-01-02,2017-01-02,2017-01-02,2017-01-02", value1 = "[9,23,24,54,67,1,23,45,23,444,55,89]", value2 = "[99,89,78,67,76,75,49,47,21,32,33,55]" };
8 return Json(result);
9 }
2.前台:
@{
    Layout = null;
}
<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
    <script src="~/charts/highcharts/exporting.js"></script>
    <script src="~/charts/highcharts/highcharts.js"></script>
    <script src="~/charts/highcharts/highcharts_jquery-1.8.3.min.js"></script>
</head>
<body>
    <div id="container">
    </div>
</body>
</html>
<script type="text/javascript">
    $(function () {
        $.ajax({
            url: '/Home/GetAllReport',
            dataType: "json",
            type: "POST",
            data: null,
            success: function (data) {
                alert(data.key);
                Chart(data.key, data.value1, data.value2);
            }, error: function (jqXHR, textStatus, errorThrown) {
                alert("出错");
            }
        });
    });
    function Chart(key, value1, value2) {
        var mycars = new Array();
        var myvalue1 = new Array();
        var myvalue2 = new Array();
        var _tkey = key.split(',');
        for (var i = 0; i < _tkey.length; i++) {
            mycars[i] = _tkey[i];
        }
        var _tvalue1 = value1.split(',');
        for (var i = 0; i < _tvalue1.length; i++) {
            myvalue1[i] = _tvalue1[i];
        }
        var _tvalue2 = value2.split(',');
        for (var i = 0; i < _tvalue2.length; i++) {
            myvalue2[i] = _tvalue2[i];
        }
        var chart = new Highcharts.Chart('container', {
            title: {
                text: '不同城市的月平均气温',
                x: -20
            },
            subtitle: {
                text: '数据来源: WorldClimate.com',
                x: -20
            },
            xAxis: {
                categories: mycars
            },
            yAxis: {
                title: {
                    text: '温度 (°C)'
                },
                plotLines: [{
                    value: 0,
                    width: 1,
                    color: '#808080'
                }]
            },
            tooltip: {
                valueSuffix: '°C'
            },
            legend: {
                layout: 'vertical',
                align: 'right',
                verticalAlign: 'middle',
                borderWidth: 0
            },
            series: [{
                name: '东京',
                data: eval(value1)
            }, {
                name: '纽约',
                data: eval(value2)
            }]
        });
    }
</script>
另外呢还有一些 小处理
1. 2条折线重复的时候,鼠标放上去需要都显示数据
tooltip: {
shared: true
}
2. 去除highchat.com 网址
credits: {
 enabled: false
}
3. 刷新数据的时候 需要将上次的折线图清除
function clearTable() {
   var series = chart.series;
   if (series.length > 0) {
         series[0].remove(false);
     }
}
HighChat 动态绑定数据记录的更多相关文章
- HighChat动态绑定数据 数据后台绑定(四)
		
后台绑定数据,直接返回json数据 IList<SummaryHour> adHourData = summarybll.FindList(str); List<, , , , , ...
 - HighChat动态绑定数据 数据后台绑定(三)
		
今天看了几位大佬的博客,学到了一些,现在分享一下,也作为以后的参考 不多说看代码 1.后台代码 public ActionResult Ajax2() { ReportData reportData ...
 - HighChat 动态绑定数据(二)
		
也是对最近几天的折线图搞得烦心,看了好多前辈的文章,也总结了一下. 1.先看后台程序,这是我模拟的一些参数 就是一个字符串.没啥好说的 public ActionResult Index2() { s ...
 - MySQL单表百万数据记录分页性能优化
		
背景: 自己的一个网站,由于单表的数据记录高达了一百万条,造成数据访问很慢,Google分析的后台经常报告超时,尤其是页码大的页面更是慢的不行. 测试环境: 先让我们熟悉下基本的sql语句,来查看下我 ...
 - SQL Server 存储(2/8):理解数据记录结构
		
在SQL Server :理解数据页结构我们提到每条记录都有7 bytes的系统行开销,那这个7 bytes行开销到底是一个什么样的结构,我们一起来看下. 数据记录存储我们具体的数据,换句话说,它存在 ...
 - MySQL 单表百万数据记录分页性能优化
		
文章转载自:http://www.cnblogs.com/lyroge/p/3837886.html 背景: 自己的一个网站,由于单表的数据记录高达了一百万条,造成数据访问很慢,Google分析的后台 ...
 - dev checkedlistbox动态绑定数据
		
最近在做项目的时候遇到个问题.用checkedlistbox控件绑定数据.在这里稍微总结一下. 其实动态绑定数据有两种方法下面说一下 1.通过数据源 DataTable dt=new DataTabl ...
 - (转)ThinkPHP find方法 查询一条数据记录
		
find() ThinkPHP find() 方法是和 select() 用法类似的一个方法,不同之处 find() 查询出来的始终只有一条数据,即系统自动加上了 LIMIT 1 限制. 当确认查询的 ...
 - MySQL查询数据表中数据记录(包括多表查询)
		
MySQL查询数据表中数据记录(包括多表查询) 在MySQL中创建数据库的目的是为了使用其中的数据. 使用select查询语句可以从数据库中把数据查询出来. select语句的语法格式如下: sele ...
 
随机推荐
- [基础]Deep Learning的基础概念
			
目录 DNN CNN DNN VS CNN Example 卷积的好处why convolution? DCNN 卷积核移动的步长 stride 激活函数 active function 通道 cha ...
 - 如何在Etherscan.io 部署ETH以太坊智能合约 如何在15分钟内创建你的加密货币
			
一.概述 ETH 网络这里就不介绍了,这篇文章主要记录在以太坊主网和测试网络部署一个智能合约,也就是如何发币. 二.部署合约需要的生产工具 准备工具前,建议大家准备个VPN,因为会访问国外网 ...
 - python json解析字符串出错该如何排查问题
			
每天写一点,总有一天我这条咸鱼能变得更咸 python中对于字符串转json格式有专门的json库可以操作 #!/usr/bin/env python # -*- coding: utf-8 -*- ...
 - TortoiseSVN客户端(七)
			
TortoiseSVN 是一个 Windows 下的版本控制系统 Apache™ Subversion®的客户端工具. 一.安装 官网下载地址:https://tortoisesvn.net/down ...
 - [POJ2336]Ferry Loading II
			
题目描述 Description Before bridges were common, ferries were used to transport cars across rivers. Rive ...
 - QT控制文本框输入内容
			
利用正则表达式,例: //即账号最长为10位,只能由数字组成 QRegExp regx("[0-9]{1,10}"); QValidator *validator = new QR ...
 - ASP.NET Core 中的 Main 方法
			
ASP.NET Core 中的 Main 方法 在 ASP.NET Core 项目中,我们有一个名为Program.cs的文件.在这个文件中,我们有一个public static void Main( ...
 - 【K短路】牛慢跑
			
牛慢跑 据说是\(k\)短路模板,要用\(A^*\),然而我不会.我是用拓扑排序加堆优化广搜水过去的.第一道完全靠自己做出来的紫题,调了两个小时,交了两遍.果然我还是太菜了. 正解的话,可以看红太阳的 ...
 - 【LG5171】Earthquake
			
[LG5171Earthquake] 题面 洛谷 题解 本题需要用到类欧几里得算法. 前置知识:类欧几里得 就是求函数\[\varphi (a,b,c,n)=\sum_{i=0}^n \left\lf ...
 - Linux性能优化实战学习笔记:第四十四讲
			
一.上节回顾 上一节,我们学了网络性能优化的几个思路,我先带你简单复习一下. 在优化网络的性能时,你可以结合 Linux 系统的网络协议栈和网络收发流程,然后从应用程序.套接字.传输层.网络层再到链路 ...