jqchart 使用的几点小技巧
官网demo地址:http://www.jqchart.com/jquery/chart
简单示例:
[javascript]
$('#jqChart').jqChart({
title: 'jqChart - Teststation',
legend: { title: 'Legend' },
border: { strokeStyle: '#6ba851' },
background: background,
axes: [{
type: 'linear',
location: 'left'
},
{
type: 'dateTime',
location: 'bottom',
labels: {
stringFormat: 'dd-mm-yyyy'
}
}
],
series: [
{
type: 'line',
lineWidth: 1,
title: 'Random Data',
markers: {
size: 0
},
data: data
}
]
});
[/javascript]
由于demo不能完全满足我的需求,所以做了以下改动。
需求1:需要数据曲线从左到右实时的更新
在jqchart 初始化的时候,给series 中需要变化的曲线的data用一个数组来代替,上代码:
[javascript]
series:[
{
title: '动态数据',
type: 'line',
data: mydata,//外部定义的数组
markers: null,//不用圆点标示
strokeStyle: 'green'
}
]
[/javascript]
其中,mydata 是外面定义的一个js数组,那么如何实现曲线往右不断延伸呢,那么需要不断的往数组里添加数据,并更新 jqchart,上代码:
[javascript]
var mydata = [];
var myValue = 100;
var j=0;;
function updateChart() {
myValue += Math.random() * 10 - 5;
if(j<60){
mydata.push([j,round(myValue)]);
$('#jqChart').jqChart('update');//刷新jqchart
setTimeout("updateChart()", 1000);
}
j++;
}
[/javascript]
需求2:需要动态的增加曲线和取消曲线在界面上的显示
由于demo中给的例子动态增加到是实现了,但是取消的话只给出了取消最后一条曲线的例子,不能取消指定的曲线,所以我在实现的时候,给要增加和删除的曲线预留了位置。上代码:
[javascript]
series:[
{
title: '数据1',
type: 'line',
data: data,
markers: null,//拐点不用圆点标示
strokeStyle: '#000000'
},
null,//预留位置
{
title: '动态数据',
type: 'line',
data: mydata,
markers: null,//不用圆点标示
strokeStyle: 'green'
}
]
[/javascript]
增加曲线:
[javascript]
var series = $('#jqChart').jqChart('option', 'series');
newSeries2 = {
title:'数据4',
type: 'line',
data: getRandomData(),
markers:null,
strokeStyle:'red'
};
// get the data from the first series
series[1]=newSeries2;//给之前的预留位置赋值
$('#jqChart').jqChart('update');
[/javascript]
删除曲线:
[javascript]
// get current series
var series = $('#jqChart').jqChart('option', 'series');
series[1]=null;//把预留位置的data置空
$('#jqChart').jqChart('update');//更新jqchart
[/javascript]
jqchart 使用的几点小技巧的更多相关文章
- 前端网络、JavaScript优化以及开发小技巧
一.网络优化 YSlow有23条规则,中文可以参考这里.这几十条规则最主要是在做消除或减少不必要的网络延迟,将需要传输的数据压缩至最少. 1)合并压缩CSS.JavaScript.图片,静态资源CDN ...
- Git小技巧 - 指令别名及使用Beyond Compare作为差异比较工具
前言 本文主要写给使用命令行来操作Git的用户,用于提高Git使用的效率.至于使用命令还是GUI(Tortoise Git或VS的Git插件)就不在此讨论了,大家根据自己的的喜好选择就好.我个人是比较 ...
- 分享两个BPM配置小技巧
1.小技巧 流程图修改后发布的话版本号会+1,修改次数多了之后可能会导致版本号很高,这个时候可以将流程导出,然后删除对应的流程包再导入,发布数据模型和流程图之后,版本清零 2.小技巧 有的同事入职后使 ...
- linux系统维护时的一些小技巧,包括系统挂载新磁盘的方法!可收藏!
这里发布一些平时所用到的小技巧,不多,不过会持续更新.... 1.需要将history创建硬链接ln 全盘需要备份硬链接 ln /etc/xxx /home/xxx 2.root用户不可以远程 /et ...
- JS处理事件小技巧
今天,就分享一下我自己总结的一些JS的小技巧: ①防止鼠标选中事件 <div class="mask" onselectstart="return false&qu ...
- iOS:小技巧(不断更新)
记录下一些不常用技巧,以防忘记,复制用. 1.获取当前的View在Window的frame: UIWindow * window=[[[UIApplication sharedApplication] ...
- css小技巧(1)
1.-webkit-overflow-scrolling: touch; 解决ios滑动时无缓冲问题 2.::-webkit-scrollbar 设置ios滑动时是否显示滚动条 3.::selecti ...
- 最强 Android Studio 使用小技巧和快捷键
写在前面 本文翻译自 Android Studio Tips by Philippe Breault,一共收集了62个 Android Studio 使用小技巧和快捷键. 根据这些小技巧的使用场景,本 ...
- ios开发中的小技巧
在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新. UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIViewal ...
随机推荐
- Spring的Bean生命周期理解
首先,在经历过很多次的面试之后,一直不能很好的叙述关于springbean的生命周期这个概念.今日对于springBean的生命周期进行一个总结. 一.springBean的生命周期: 如下图所示: ...
- Java异步编程——深入源码分析FutureTask
Java的异步编程是一项非常常用的多线程技术. 之前通过源码详细分析了ThreadPoolExecutor<你真的懂ThreadPoolExecutor线程池技术吗?看了源码你会有全新的认识&g ...
- rdlc报表集锦
rdlc报表动态生成实例 http://blog.csdn.net/fwj380891124/article/details/8803844 rdlc报表动态生成公共类 http://blog.cs ...
- 【java】实体类中 Set<对象> 按照对象的某个字段对set排序
背景: User实体类 有个属性是 Set<PositionChange> 职位变更字段 如下: PositionChange实体类 有个属性是positionStartDate 什 ...
- Oracle SQL执行缓慢的原因以及解决方案
以下的文章抓哟是对Oracle SQL执行缓慢的原因的分析,如果Oracle数据库中的某张表的相关数据已是2亿多时,同时此表也创建了相关的4个独立的相关索引.由于业务方面的需要,每天需分两次向此表中 ...
- iOS:quartz2D绘图(在PDF文件上绘制图片)
quartz2D还可以在PDF文件上绘制图片,它有自己的PDF Graphics Context上下文,通过UIGraphicsBeginPDFContextToFile方法开始上下文后就可以绘制图片 ...
- Dos网络查看命令
net use //ip/ipc$ " " /user:" " 建立IPC空链接 net use //ip/ipc$ "密码" /user: ...
- 【转载】C/C++语言分析 & 每年学一种编程语言 & git历史
http://blog.csdn.net/turingbook/article/details/1778867 <程序员修炼之路>英文注释版 作者提出的经营之道是:——Invest Reg ...
- flask使用ajax上传图片或者文件
function upload_cover(){ var cover = new FormData(); var fileObj = document.getElementById('cover'). ...
- python 实现简单的感知机
最近在自学机器学习,记录下一些学习记录 如何用python实现一个简单的感知机 需要安装numpy库,即下面用到的np 简单的说就是 通过计算权重向量w和输入向量x的线性组合,判断该线性组合是否大于某 ...