一次工作中用到的Highcharts.Chart

一般动态获取图表信息都是通过ajax交互传送数据。

这次是一次性从后台返回集合后,直接在页面取数据绘制图表

引用js

<script type="text/javascript" src="/js//jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="/js/Highcharts-3.0.7/js/highcharts.js"></script>

页面返回的集合有三个字段

 ${listDailyActivity.lastvisit}是时间格式 2014-08-05
${listDailyActivity.visitNum}是数量 这两个字段用于绘制简单的时间曲线 每天访问量
                    <c:set var="num" value="0" />
                                    <c:forEach items="${listDailyActivity}" var="listDailyActivity" varStatus="L">
                                        <tr class="firstalt1">
                                            <td align="center">
                                                <input type="hidden" id="data${L.index}" value="${listDailyActivity.lastvisit}"/>
                                                ${listDailyActivity.lastvisit}
                                            </td>
                                            <td align="center">${listDailyActivity.rank}</td>
                                            <td align="right">
                                                <input type="hidden" id="Daily${L.index}" value="${listDailyActivity.visitNum}"/>
                                                ${listDailyActivity.visitNum}
                                            </td>
                                        </tr>
                                        <c:set var="num" value="${num+1}" />
                                    </c:forEach>
                                    <tr style="display: none"><td><input type="hidden" value="${num}" id="totalNum"/></td></tr>

js代码如下

<script type="text/javascript">
var chart1; // 全局变量
$(document).ready(function() {
    var totalNum = $("#totalNum").val();//页面数据记录条数
    var st1=new Array();
    for(var i=totalNum-1;i>=0;i--){//组装数组数据
        var st2=new Array();
        var tt = $("#data"+i).val();
        var ttt = $("#Daily"+i).val();
        st2.push(Date.UTC(tt.split("-")[0],tt.split("-")[1]-1,tt.split("-")[2]));
        st2.push(parseInt(ttt));
        st1.push(st2);
    }
    chart1 = new Highcharts.Chart({
         credits: {  enabled: false},//去掉highcharts.com商标
            exporting: { enabled: false },  //去掉chart不必要属性
         chart: { renderTo: ‘container‘, type: ‘line‘ },
         title: { text: ‘月内每日统计‘ },
         tooltip: {
              xDateFormat: ‘%Y-%m-%d, %A‘//鼠标移动到趋势线上时显示的日期格式
         },
         xAxis: {type: ‘datetime‘,
             dateTimeLabelFormats : {
                day : ‘%m-%d‘,
                //second: ‘%H:%M:%S‘,
                   // minute: ‘%e. %b %H:%M‘,
                  //  hour: ‘%b/%e %H:%M‘,
                  //  day: ‘%e日/%b‘,
                   // week: ‘%e. %b‘,
                   // month: ‘%b %y‘,
                   // year: ‘%Y‘
            },
            tickInterval: 2*24 * 3600 * 1000//间隔2天
        },
         yAxis: {title: { text: ‘访问数‘, }, min:‘0‘ },
         series: [{
            name: ‘访问数‘,
            data:st1  //用的数组格式[[Date.UTC(2014,7,19), 22],[Date.UTC(2014,7,20), 29],[Date.UTC(2014,7,21), 38]]
              //Date.UTC是一种时间格式化函数 
}] }); }); </script>

效果图

更多请看中问官网:http://www.hcharts.cn/index.php

时间: 2024-11-10 07:08:10

一次工作中用到的Highcharts.Chart的相关文章

[转] angular2+highcharts+chart.js

这里是在ionic2下使用highchairs和chart.js的简单示例chartjs部分参考http://www.jianshu.com/p/bc18132da812 1.安装hightcharts npm install highcharts --save typings install dt~highcharts --global --save 2.编辑 html文件在html中添加一个div来显示图表 <ion-content class="about"> <

工作中用到的 Linux/Unix 常用命令

LINUX平时工作中用到的常用命令 :       scp是有Security的文件copy,基于ssh登录.操作起来比较方便,比如要把当前一个文件copy到远程另外一台主机上,可以如下命令. scp /home/1.gif [email protected]:/home/root 然后会提示你输入另外那台172.19.2.75主机的root用户的登录密码,接着就开始cp和ungzip了 如果想反过来操作,把文件从远程主机copy到当前系统,也很简单: scp [email protected]

工作中用到的linux命令

都是工作中用到的,解决问题至上,不求甚解,怕再忘了,所以记录一下,勿喷. cat xxx.20140725.log |grep ,,2,,1,,|sed 's/,,/\t/g'|cut -f 1,10|awk '{a[$0]++}END{for(i in a) print i}'|awk '{a[$2]++}END{for(i in a) print a[i],i}'|sort -k1nr|head -10 先说一下这条命令: cat:打印文件内容 grep:查找,用到的有\s匹配空白字符 se

Highcharts.Chart

Highcharts 是一个使用javascript 脚本来生成图表的工具,和jfreechart 作用类似,都用来生成各种图表,并支持图片的导出和打印. 从官网 www.highcharts.com  上下载的压缩表中的example中有各种图表的例子. 要编写生成图表的例子建议从 文件名后带 basic 的文件看起,看到例子后你会发现,highcharts使用起来时非常简单的,我们要做的仅仅是把数据组织好,让在页面onload时把数据设置到 组件(Highcharts.Chart)中即可.

程序员应该知道的15件事 在生活与工作中用他们来警惕自己

http://www.nowamagic.net/librarys/veda/detail/2313作为程序员,要取得非凡成就需要记住的15件事.这些道理也许都很浅显,但是你需要在生活与工作中用他们来警惕自己. 走一条不一样的路.在有利于自己的市场中竞争,如果你满足于“泯然众人矣”,那恐怕就得跟那些低工资国家的程序员们同场竞技了. 了解自己的公司.以我在医院.咨询公司.物流企业以及大技术公司工作的经验来看,这一点所言不虚. 不同公司的运营模式差异极大.如果你理解企业的运营模式,那你就不一样了!在

记录工作中用到的linux命令

日常工作中会对centos进行操作,总是会有一些常用的命令记不住,特开一贴,记录那些命令,学而时习之. RPM操作类命令: 查看RPM安装路径: 1.rpm -qa|grep Memcached 2.rpm -ql Memcached-1.4.13_02-6.x86_64 yum显示源中可安装的mysql文件 yum list | grep mysql 删除rpm: rpm -e --nodeps packagename server状态参考类命令: 查看进程: ps -aux 查看端口: ls

工作中用到过的linux命令整理

文件编辑操作命令 ----------------------------------------------------------------- 在vi中查找字符串的方法如下: 1.命令模式下输入"/字符串",例如"/Section 3". 2.如果查找下一个,按"n"即可. 要自当前光标位置向上搜索,请使用以下命令: /pattern Enter 其中,pattern表示要搜索的特定字符序列. 要自当前光标位置向下搜索,请使用以下命令: ?

工作中用到的插件记录

做前端开发这一块,在工作中常常会用到一些可以提升效率,完成特定功能的插件.但自从调入运营支持部后,不断的修改工程中的BUG,发现周边同事都用到了一些非常不错的插件,让我不得不在此记录一下,以供后续随时查阅调用! 验证插件: 其实开始我用的是validform(一行代码搞定整站的表单验证!),在推荐给同事用的时候发现有一些小BUG,就是这个插件在验证获取的时候会先去除空前空格,所以对于想验证前后空格的会有点小问题,但大体上还是很不错的,有不少的用户群,加上官网指定的QQ群可以给予帮助,也可以付费得

推荐一个工作中用到的BI工具

详情请阅读原文http://c.raqsoft.com.cn/article/1536631784035?r=niu 一.要不要报表工具? 软件开发项目中,报表必不可少.用报表工具还是写代码实现报表,这是个问题. 简单行列报表.中国式复杂报表,报表工具都能轻松实现.报表工具采用独立报表模板文件,不会和其他代码耦合.报表需求频繁改变,只需替换报表文件即可,不必重新打包.不必重启服务,可以实现不停机热切换. 想用报表工具,但是又嫌价格太贵,怎么破?用润乾报表吧!具备顶级报表工具的功能,价格却低到谷底