需求很简单,显示一条24小时的变化曲线

写完代码效果是只有一条直线,连时间轴都没有

第1个错误  Highcharts error #12

当通过要绘制的点超过1000个时就会报这个错,我按分钟计算间隔,一天有1440分钟,超过了1000所以报错。

解决办法是在初始化参数中配置

plotOptions: {
series: {
turboThreshold: 2000 // 或者更多,必须大于数组长度(1440)
}
}

设置完成后时间轴算是显示出来了,但是不正常,只显示其中的几个小时。 而且仍然没有数据,显示为一条直线。

后台明明是有数据传来的,怎么会得不到曲线呢?

后来才发现,数据库的字段是字符型的,所以传到前台js中也是字符型,要手动将其转为数值类型。

parseFloat(chartdata[i][col]);

全部代码如下

function drawChart(chartdata, col, cname) {
var datasource = [];
for (var i = 0; i < 60 * 24; i++) {
if (chartdata[i]) {
var tempval = parseFloat(chartdata[i][col]);
datasource.push(tempval);
}
else {
datasource.push(null);
}
} var start = +new Date(GetNowFormatDate() + ' 00:00:00');
var now = +new Date(); Highcharts.setOptions({
global: { useUTC: false },
lang: {
contextButtonTitle: '导出',
printChart: '打印图表',
downloadJPEG: '导出为JPG',
downloadPDF: '导出为PDF',
downloadPNG: '导出为PNG',
downloadSVG: '导出为SVG',
loading: '加载中...' }
});
console.log(datasource);
$('#container').highcharts('StockChart', {
chart: {
events: {
load: function () {
if (!window.isComparing) {
this.setTitle(null, {
text: '加载完成共消耗 ' + (new Date() - now) + 'ms'
});
}
}
},
animation: false,
zoomType: 'x'
},
rangeSelector: {
enabled: false
},
tooltip: {
split: false,
shared: true
},
credits: {
enabled: false
},
yAxis: {
title: {
text: '监测值'
}
},
title: {
text: cname
},
series: [{
name: '监测值',
data: datasource,
pointStart: start,
dataLength: length,
pointInterval: 1000 * 60,
tooltip: {
valueDecimals: 1,
valueSuffix: ''
}
}],
plotOptions: {
series: {
turboThreshold: 2000 // 或者更多,必须大于数组长度(1440)
}
}
});
}

解决HighChart开发遇到的2个问题的更多相关文章

  1. Node.js配合node-http-proxy解决本地开发ajax跨域问题

    情景: 前后端分离,本地前端开发调用接口会有跨域问题,一般有以下3种解决方法: 1. 后端接口打包到本地运行(缺点:每次后端更新都要去测试服下一个更新包,还要在本地搭建java运行环境,麻烦) 2. ...

  2. BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第11章节--为Office和SP解决方式开发集成Apps Office新的App模型

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第11章节--为Office和SP解决方式开发集成Apps  Office新的App模型         Office 2 ...

  3. BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第11章节--为Office和SP解决方式开发集成Apps Office的JavaScript对象模型

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第11章节--为Office和SP解决方式开发集成Apps  Office的JavaScript对象模型         ...

  4. BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第11章节--为Office和SP解决方式开发集成Apps 集成SP和Office App

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第11章节--为Office和SP解决方式开发集成Apps  集成SP和Office App         你能够用两种 ...

  5. 解决QML开发中ComboBox中一个已选择项没有清除的问题

    解决QML开发中ComboBox中一个已选择项没有清除的问题 近期使用QML开发一个项目.须要使用ComboBox进行显示.当进行一个操作时,须要向ComboBox加入一个元素,当进行另外一个操作时. ...

  6. 反射解决微信开发加解密illegal key size,不需要修改JDK jar包

    在微信开发时,消息接口时,涉及到消息加密,抛出了 java.security.InvalidKeyException: Illegal key size 的异常,异常堆栈如下: 按照网上的解决方案,都 ...

  7. 解决VS2008 开发Windows Mobile 项目生成速度慢的问题(转)

    最近用VS2008开发Windows Mobile程序,使用C#..NET Compact Framework,发现项目生成速度比较慢.用VS2008打开项目后,开始一段时间生成速度还能忍受,时间一长 ...

  8. BizTalk动手实验(十六)EDI-AS2解决文案开发配置

    1 课程简介 通过本课程熟悉EDI.AS2解决文案的开发与配置,本动手实验步骤及内容采用微软官方SDK完成,学员在实验过程中结合官方教程来完成本实验 本实验基于BizTalk 2013(Windows ...

  9. 解决Android开发中,ActiveAndroid和Gson同时使用,对象序列化失败的问题

    ActiveAndroid是安卓开发常用的ORM框架. Gson则是Google提供的轻量级序列化框架,非常适合Android开发使用. 但这两者同时使用,会产生序列化失败的问题.你通常会收到如下信息 ...

随机推荐

  1. python中time模块常用功能

    import time time模块提供了大量对时间进行处理的方法 time.time() # 获取当前时间戳,得到自1970年开始的秒数 >>>time.time() 155487 ...

  2. 2018.4.24 快排查找第K大

    import java.util.Arrays; /* 核心思想:利用快排思想,先假定从大到小排序,找枢纽,枢纽会把大小分开它的两边,当枢纽下标等于k时, 即分了k位在它左边或右边,也就是最大或最小的 ...

  3. Flume架构以及应用介绍

    在具体介绍本文内容之前,先给大家看一下Hadoop业务的整体开发流程:  从Hadoop的业务开发流程图中可以看出,在大数据的业务处理过程中,对于数据的采集是十分重要的一步,也是不可避免的一步,从而引 ...

  4. webpack的知识内容

    webpack的构建工具: 浏览器的兼容性? 转换ES6语法: 转化JSX: css

  5. spring-boot入门总结

    1.org.springframework.web.bind.annotation不存在 错误的pom.xml <dependency> <groupId>org.spring ...

  6. Linux shell脚本学习

    1.cgmod +x ./文件 获取执行权限,使脚本具有执行权限 2.  ./name.sh  执行脚本 ./为当前目录 直接使用name.sh系统会去PATH里面找name.sh,而PATH里只有/ ...

  7. windows server 2008 R2之tomcat开机自启

    方法一: 写一个批处理文件autostartup.bat用来启动tomcat,内容如下.复制时不要把复制内容也复制进去 set CATALINA_HOME=C:\apache-tomcat-8.5.3 ...

  8. xpython在Windos下的安装及简单的文本打开、保存

    前几天写自动化部署脚本,用的是paramiko和shell相结合,paramiko可是实现ssh登录,文件及文件夹的上传下载,这些功能,然后一直想自己写个东西出来,于是就想把这些功能我把他放到图形化界 ...

  9. 2.3 Visio画虚线后插入word或PPT变为实线

    选中实线后,左键选择->格式->线条->粗细->自定义->设置为0pt

  10. VUE 微信开发

    1.工具 1.电脑版微信客户端window版本(1.x.x 亲测可以在谷歌浏览器进行微信授权登录,版本越来越好)或者用微信开发工具.很久之前就是用这个方法搞定用chrome进行微信登录授权. 2.us ...