`
这些年
  • 浏览: 399919 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java小强--highcharts 高级应用—动态曲线的实现

 
阅读更多

第一次写那就来电简介吧,虽然都是废话:

      Highcharts是一个制作图表的纯Javascript类库, 

  主要特性如下:

  兼容性:兼容当今所有的浏览器,包括iPhone、IE和火狐等等;

  对个人用户完全免费;

  纯JS,无BS;

  支持大部分的图表类型:直线图,曲线图、区域图、区域曲线图、柱状图、饼装图、散布图;

  跨语言:不管是PHP、.net还是Java都可以使用,它只需要三个文件:一个是

  Highcharts的核心文件highcharts.js,还有a canvas emulator for IE和Jquery类库或者MooTools类库;

  提示功能:鼠标移动到图表的某一点上有提示信息;

  放大功能:选中图表部分放大,近距离观察图表;

  易用性:无需要特殊的开发技能,只需要设置一下选项就可以制作适合自己的图表;

  时间轴:可以精确到毫秒;

 

其官网网站为:http://www.highcharts.com/ !

里面有他们的例子和参考代码,可以参考着实现自己的应用,如果你做的是静态的图形展示,那么使用是非常简单的!

 

参照官网的一个例子,我来实现一个动态曲线的应用:

效果如下:

 

这个曲线是动态的,他的官网效果地址:http://www.highcharts.com/demo/dynamic-update !

我把他应用到JSP中,代码如下:

Java代码  收藏代码
  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
  2. <html>  
  3.     <head>  
  4.         <title>Highcharts Example</title>  
  5.         <script language="javascript" type="text/javascript" src="jquery.min.js"></script>  
  6.         <script language="javascript" type="text/javascript" src="highcharts.js"></script>  
  7.         <script language="javascript" type="text/javascript" src="exporting.js"></script>  
  8. <script type="text/javascript">  
  9. $(document).ready(function() {  
  10.     Highcharts.setOptions({  
  11.         global: {  
  12.             useUTC: false  
  13.         }  
  14.     });  
  15.     var chart;  
  16.     chart = new Highcharts.Chart({  
  17.         chart: {  
  18.             renderTo: 'container',  
  19.             type: 'spline',  
  20.             marginRight: 10,  
  21.             events: {  
  22.                 load: function() {  
  23.                     // set up the updating of the chart each second  
  24.                     var series = this.series[0];  
  25.                     setInterval(function() {  
  26.                         var x = (new Date()).getTime(), // current time  
  27.                             y = Math.random();  
  28.                         series.addPoint([x, y], truetrue);  
  29.                     }, 1000);  
  30.                 }  
  31.             }  
  32.         },  
  33.         title: {  
  34.             text: '<b>Java小强制作</b>'  
  35.         },  
  36.         xAxis: {  
  37.             type: 'datetime',  
  38.             tickPixelInterval: 150  
  39.         },  
  40.         yAxis: {  
  41.             title: {  
  42.                 text: '单位:M'  
  43.             },  
  44.             plotLines: [{  
  45.                 value: 0,  
  46.                 width: 1,  
  47.                 color: '#808080'  
  48.             }]  
  49.         },  
  50.         tooltip: {  
  51.             formatter: function() {  
  52.                     return '<b>'this.series.name +'</b><br/>'+  
  53.                     Highcharts.dateFormat('%Y-%m-%d %H:%M:%S'this.x) +'<br/>'+  
  54.                     Highcharts.numberFormat(this.y, 2);  
  55.             }  
  56.         },  
  57.         legend: {  
  58.             enabled: false  
  59.         },  
  60.         exporting: {  
  61.             enabled: false  
  62.         },  
  63.         series: [{  
  64.             name: 'Random data',  
  65.             data: (function() {  
  66.                 // generate an array of random data  
  67.                 var data = [],  
  68.                     time = (new Date()).getTime(),  
  69.                     i;  
  70.   
  71.                 for (i = -19; i <= 0; i++) {  
  72.                     data.push({  
  73.                         x: time + i * 1000,  
  74.                         y: Math.random()  
  75.                     });  
  76.                 }  
  77.                 return data;  
  78.             })()  
  79.         }]  
  80.     });  
  81. });  
  82. </script>  
  83.     </head>  
  84.     <body>  
  85.     <div id="container" style="width: 800px;height: 400px"></div>  
  86.     </body>  
  87. </html>  

 

DIV的样式可以自己调节,需要关注的是两个点:

他需要的数据格式是双维数组

数据的更新是因为 chart 对象里面有一个 events 属性,里面定义方法使用 addPoint 实现数据点的增加和刷新!

 

 

由于近期大量小网站在未经同意情况下使用文章,现将我的博客地址公布如下,请您到ITEYE网站看原创,谢谢!

http://cuisuqiang.iteye.com/ !

分享到:
评论

相关推荐

    gatling-charts-highcharts-bundle-3.3.1-bundle.zip

    总之,Gatling-Charts-Highcharts-Bundle是一个强大的性能测试工具,适用于验证和优化Web应用的性能,它提供了自动化测试能力和高质量的可视化报告,尽管需要一定的学习投入,但对提升应用性能保障和优化有着显著的...

    gatling-charts-highcharts-2.0.0-M2-bundle

    《gatling-charts-highcharts-2.0.0-M2-bundle:探索新兴的Scala性能测试工具》 Gatling是一款备受推崇的性能测试工具,尤其在开发和运维领域中,它以其高效、易用的特点赢得了广大用户的青睐。这款工具的独特之处...

    gatling-charts-highcharts-1.5.4-bundle.zip

    6. **图表报告**:"gatling-charts-highcharts-1.5.4"这部分可能指的是Gatling内置的基于Highcharts的报告生成器,Highcharts是一个流行的JavaScript库,用于创建高质量的、互动的数据可视化图表。在Gatling中,它...

    gatling-charts-highcharts-bundle-2.3.1-bundle.zip

    Gatling主要用于测量基于HTTP的服务器,比如Web应用程序,RESTful服务等。 1 优点: 1.gatling和其他压力工具相比有个好处是放在同一内网环境下linux服务器上,这样避免其他压力使用办公机使用共有网络,网络情况对...

    hielkehoeve-wiquery-highcharts

    **压缩包子文件的文件名称列表:hielkehoeve-wiquery-highcharts-663b79f** 这个文件名可能是项目的版本号或者是Git仓库的一个特定提交哈希值。"663b79f"很可能是一个Git提交ID,表示这个压缩包是某个特定版本或更改...

    前端项目-react-highcharts.zip

    除了基本的配置,"react-highcharts"还支持Highcharts的大部分高级特性,如模块加载、自定义事件、响应式设计等。开发者可以根据具体需求,深入研究Highcharts的文档,以充分利用其功能。 总的来说,"react-...

    Java和Highcharts实现折线图

    在这个场景中,我们将探讨如何使用Java和Highcharts这两个工具来实现一个动态的、交互式的折线图。Highcharts是一个流行的JavaScript库,专门用于创建高质量的图表,而Java则作为后端语言,负责处理数据并将其传递给...

    Laravel开发-laravel-highcharts

    只需几行代码,就可以在Laravel模板中生成动态的HighCharts图表。 3. **配置自定义**:此包可能允许开发者通过配置文件或方法参数来调整HighCharts的配置选项,如图表类型、颜色、数据系列等,以满足特定的可视化...

    Storm流计算项目:1号店电商实时数据分析系统-28.项目2-省份销售排行-双纵轴HighCharts图表开发三.pptx

    01.Storm项目实战课程大纲02.CDH5搭建之CM5安装部署03.CDH5搭建和CM界面化集群管理04.Hadoop、HBase、Zookeeper集群管理和角色分配05.Kafka基础知识和集群搭建06.Kafka基本操作和最优设置07.Kafka Java API 简单开发...

    sodbase-view-highcharts.zip

    6. **Tomcat**:Tomcat是一款开源的Java Servlet容器,实现了Java EE Web应用服务器的部分规范,特别是Servlet和JSP。它是许多基于Java的Web应用的首选服务器,因为其轻量级和易于配置的特性。 7. **部署**:将...

    highcharts-react:Highcharts官方支持的React包装器

    为什么使用highcharts-reform-official而不是highcharts-react? 如何获得图表实例? 如何添加模块? 如何将React组件添加到图表元素? 入门 一般先决条件 确保您的节点, NPM和React是最新的。 经过测试和...

    Highcharts-Gantt-7.2.1_highcharts_highchartsgantt_

    9. **API和事件**:Highcharts Gantt提供丰富的API和事件接口,使得开发者可以动态更新图表内容,响应用户操作,或者与其他应用组件进行集成。 10. **性能优化**:7.2.1版本可能包含了对大型数据集处理的性能优化,...

    Angular-angular-highcharts.zip

    Angular-angular-highcharts.zip,角度海图的海图指令,Angularjs于2016年发布,是Angularjs的重写版。它专注于良好的移动开发、模块化和改进的依赖注入。angular的设计目的是全面解决开发人员的web应用程序工作流。

    node-export-server, Highcharts node.js 导出服务器.zip

    node-export-server, Highcharts node.js 导出服务器 node.js-导出服务器将 Highcharts.JS 图表转换为 static ...什么是 &这是一个 node.js 应用程序/服务,它将 Highcharts.JS 图表转换为 static 映像文件。 它支持

    spring-boot-highcharts:带有Spring boot和Mysql的Highcharts库中的大量示例。 进一步了解https://bushansirgur.inweb-technologiesspring-boot-and-highcharts

    Spring启动,MySQL和Highcharts 一堆关于Spring Boot和Highcharts的示例 要求 Java-1.8.x Maven-3.xx MySQL的-5.xx Highcharts库-最新 jQuery库-最新 设定步骤 1.克隆应用程序 git clone ...

    Highcharts AJAX后台JAVA JSON 曲线报表完美可运行例子 不包含官方JS 自己下载

    在这个"Highcharts AJAX后台JAVA JSON 曲线报表完美可运行例子"中,我们将探讨如何结合Java后端和JSON数据格式,通过AJAX技术在网页上展示动态曲线报表。 首先,`index_lineAjax.htm`是前端HTML文件,它包含了...

    highcharts加载多条曲线数据

    在"highcharts加载多条曲线数据"的场景下,我们通常指的是在一个图表中同时展示多组数据,每组数据表现为一条曲线,这样可以更直观地对比和分析不同数据系列的变化趋势。 首先,我们需要引入Highcharts库和jQuery库...

    vue3-highcharts:Highcharts.js的Vue 3组件包装器

    Vue 3-Highcharts JS 一个简单,快速的Vue 3组件,用于呈现使用composition API编写的Highcharts.js图表​​。 演示 最低要求 Vue@3.0.0 Highcharts@8.0.0(较旧的版本可能有效,但未经测试) Vue和Highcharts未...

Global site tag (gtag.js) - Google Analytics