highcharts延迟加载及刷新数据

默认使用方法及配置:

<div id="container" style="min-width:400px;height:400px"></div>
$(function () {
    $(‘#container‘).highcharts({
        chart: {
            plotBackgroundColor: null,
            plotBorderWidth: null,
            plotShadow: false
        },
        title: {
            text: ‘2014 某网站上各个浏览器的访问量占比‘
        },
        tooltip: {
            headerFormat: ‘{series.name}<br>‘,
            pointFormat: ‘{point.name}: <b>{point.percentage:.1f}%</b>‘
        },
        plotOptions: {
            pie: {
                allowPointSelect: true,
                cursor: ‘pointer‘,
                dataLabels: {
                    enabled: false
                },
                showInLegend: true
            }
        },
        series: [{
            type: ‘pie‘,
            name: ‘浏览器访问量占比‘,
            data: [
                [‘Firefox‘,   45.0],
                [‘IE‘,       26.8],
                {
                    name: ‘Chrome‘,
                    y: 12.8,
                    sliced: true,
                    selected: true
                },
                [‘Safari‘,    8.5],
                [‘Opera‘,     6.2],
                [‘其他‘,   0.7]
            ]
        }]
    });
});

引入的js文件暂不显示

默认效果如图:

思路:  如要修改延迟加载及刷新数据为方式:

则可以先配置好默认的信息存放在option中,最后在填充数据,在调用highcharts的var chart = new Highcharts.Chart(options);渲染图形

eg:

var options = {
    chart: {
        renderTo: ‘container‘,
        plotBackgroundColor: null,
        plotBorderWidth: null,
        marginLeft: 0,
        plotShadow: false
    },
    title: {
        text: ‘ ‘,
        useHTML: true
    },
    tooltip: {
        pointFormat: ‘<b>{point.name}</b>‘//鼠标上浮显示数据格式
    },
    exporting: {//导出按钮
        enabled: false
    },
    plotOptions: {
        pie: {
            allowPointSelect: true,
            cursor: ‘pointer‘,
            dataLabels: {
                enabled: true,
                format: ‘<b>{point.name}</b>‘, //显示说明的样式
                style: {
                    color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || ‘black‘//颜色
                }
            },
            showInLegend: true
        }
    },
    series: [{
        type: ‘pie‘,//饼图
        name: ‘详情‘,
        data: []  //默认为空数据
     }]
};
function freshPage(dataJson){
    options.series[0].data = dataJson;//填充数据
    var chart = new Highcharts.Chart(options);//渲染图形
}

//调用代码如下

var data=[{name:‘test1‘,y:30},{name:‘test2‘,y:18}]//测试数据
 freshPage(data);

效果:

Ps:异步获取的数据若为字符串格式的json类型数据,可能需要通过 json.parse() 或者 eval(data)函数转化一下

刷新改变数据测试:

1.页面添加按钮:

<input type=‘button‘ value="改变数据" onclick="changeData()"/> 

2.添加事件函数

function changeData(){
    var data=[{name:‘test3‘,y:70},{name:‘test4‘,y:30}]
    options.series[0].data = data;
    var chart = new Highcharts.Chart(options);
}

效果:

上文中的数据 应用于异步获取数据同样有效

例如可修改为:

$.post(url,[],function(data){
    data=eval(data);//传过来的字符串需要格式化为json
      freshPage(data);
})
时间: 2024-11-05 15:47:36

highcharts延迟加载及刷新数据的相关文章

解决ViewPager缓存导致不能实时刷新数据

ViewPager+Fragment,但是Fragment有个不好或者太好的地方.例如你在ViewPager中添加了三个Fragment,当加载ViewPager中第一个Fragment时,它会默认帮你预先加载了第二个Fragment,当你加载第二个Fragment时,它会帮你加载第三个Fragment. 这样用户使用的体验是不错的,但是这样可能导致每次滑动切换页面时,显示的数据都不是最新的数据.而是ViewPager预加载从内存中读取的数据. 我们怎么去解决这种问题.及时的去刷新数据. 在fr

刷新数据

刷新数据的方法 重新载入屏幕上所有数据的方法[self.tableView reloadData]; 以某种方式插入到特定的某一行[self.tableView insertRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:@0 inSection:@1]] withRowAnimation:UITableViewRowAnimationLeft]; 以某种方法删除某一行数据[self.tableView deleteRowsAtIndexPaths

iOS TableView实现下拉刷新数据

1. 创建刷新控件, 可通过xib或代码方式创建控件: - (void)setupDownRefresh { /* 添加刷新控件 */ UIRefreshControl *control = [[UIRefreshControl alloc] init]; // 监听事件 [control addTarget:self action:@selector(loadNewDatas:) forControlEvents:UIControlEventValueChanged]; [self.table

百思不得姐数据刷新数据部分(七)

一 刷新功能图和内部计算原理图 1 刷新功能图: 2 内部计算原理图 二 解析步骤 1 分析整个精华模块 2 真实数据请求部分 3 模型 4 先添加尾部刷新控件 5 再添加头部刷新控件 6 处理刷新业务逻辑 7 知识点补充 三 分析模块 1 从一个完整的app中可以看出,在精华模块中处于全部标题的部分数据包括了其它几部分的数据,内部有视频;声音;图片和段子,所以我们只需要将"全部"做好,就能很快的搞定其它模块了. 四 真实数据请求 1 大致步骤: --> 1 查看百思不得姐该部分

achartengine刷新数据

achartengine工具比較强大.偶在闲余时间玩了下,想通过achartengine来模拟股票线性图,于是就针对achartengine中线性图尝试效果,achartengine中包括了非常多图表,希望同学们能够去研究下,偶仅仅会点毛片,不说那么多了,进入正题. 偶上传了应用,请到该地址下载:http://download.csdn.net/detail/a1031359915/8990855 開始解析代码: String[] titles = new String[] { "Crete&q

十分钟搭建主流框架_下拉/上拉刷新数据(OC)

本节主题(网络部分-下拉/上拉刷新) 源码地址在文章末尾 达成效果 下拉刷新数据 上拉加载更多数据 前言 经过十分钟搭建主流框架_简单的网络部分(OC)的介绍,相信你已经实现了基本的联网获取数据,但只是粗糙的获取了固定的数据,下面就让我们来实现下拉刷新和上拉加载更多吧.同样,我们先来做准备工作吧. 准备工作 Github寻找优秀的第三方刷新框架 1.前人种树,后人乘凉.有优秀的第三方框架可以使用,当然是极好的,可以大大提高我们的开发效率,如有特殊需求只能自己手写就除外了 Refresh 2.查阅

shell脚本不换行刷新数据

#!/bin/bash while [ 1 ] do a=$(ifconfig eth0 | grep 'RX pac' | awk '{print $2}' | awk -F: '{print $NF}') echo -ne "$a\r"  #不换行刷新数据 done echo 参 数:-n 不要在最后自动换行 -e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出: \a 发出警告声: \b 删除前一个字符: \c 最后不加上换行符号: \f 换行但光标仍旧停留在

SQL实现类似于自动刷新数据的功能

原文:SQL实现类似于自动刷新数据的功能 有时需要在SQL中,定时刷新某张表,比如说是要定时查询某张表的行数,通常做法就是手动的按F5去执行来刷新数据.但是如果这个定时查询历时较长,10分钟,或半小时,手动的话肯定是要崩溃了.貌似SQL没有像应用程序自动刷新的功能,可能是我还不知道有这样的功能,于是就写了一个类似自动刷新数据的脚本,需要手动中止程序的运行,当然也可能写个条件,自动结束语句的执行. 代码: 1 USE AdventureWorks2008R2 2 GO 3 4 WHILE 1=1

Qt Quick之ListView下拉刷新数据

Qt Quick里的ListView,本身是Flickable的派生类,当你用鼠标拖曳或者手指触摸(触摸屏)时,会产生flickStarted和flickEnded两个信号,利用这两个信号,就可以实现下拉刷新数据,当然上拉刷新也是可以的. 创建一个Qt Quick App项目,添加dynamicModel.h和dynamicModel.cpp两个文件,用于实现DynamicListModel.项目创建过程参考<Qt Quick 之 Hello World 图文详解>. 我们实现的下拉刷新效果有