折线图与曲线图可以显示随时间而变化的连续数据,因此非常适用于显示在相等时间间隔下数据的趋势。本文将结合Highcharts,生成一个城市气温变化折线图和一个随时间动态即时显示CPU走势的曲线图。

如果您看了本站前面两篇关于Highcharts的文章,应该对Highcharts有所了解,所以本文侧重JS配置来完成图表的设计。如果您还不知道什么是Highcharts,请先阅读本站前面的文章。

1、城市气温变化折线图

通过以下配置,可以生成一个带网格的、显示数据点具体数据的、可放大的、去除LOGO标签的折线图。具体请看代码和注释

var chart;  $(function() {      chart = new Highcharts.Chart({          chart: {              renderTo: 'chart_line', //图表放置的容器,DIV              defaultSeriesType: 'line', //图表类型line(折线图),              zoomType: 'x'   //x轴方向可以缩放          },          credits: {              enabled: false   //右下角不显示LOGO          },          title: {              text: '主要城市月平均气温' //图表标题          },          subtitle: {              text: '2011年'  //副标题          },          xAxis: {  //x轴              categories: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月',   '11月', '12月'], //x轴标签名称              gridLineWidth: 1, //设置网格宽度为1              lineWidth: 2,  //基线宽度              labels:{y:26}  //x轴标签位置:距X轴下方26像素          },          yAxis: {  //y轴              title: {text: '平均气温(°C)'}, //标题              lineWidth: 2 //基线宽度          },          plotOptions:{ //设置数据点              line:{                  dataLabels:{                      enabled:true  //在数据点上显示对应的数据值                  },                  enableMouseTracking: false //取消鼠标滑向触发提示框              }          },          legend: {  //图例              layout: 'horizontal',  //图例显示的样式:水平(horizontal)/垂直(vertical)              backgroundColor: '#ffc', //图例背景色              align: 'left',  //图例水平对齐方式              verticalAlign: 'top',  //图例垂直对齐方式              x: 100,  //相对X位移              y: 70,   //相对Y位移              floating: true, //设置可浮动              shadow: true  //设置阴影          },          exporting: {              enabled: false  //设置导出按钮不可用          },          series: [{  //数据列              name: '北京',              data: [ - 4.6, -2.2, 4.5, 13.1, 19.8, 24.0, 25.8, 24.4, 19.3, 12.4, 4.1, -2.7]          },          {              name: '广州',              data: [13.3, 14.4, 17.7, 21.9, 24.6, 27.2, 30.8, 32.1, 27.2, 23.7, 21.3, 15.6]          }]      });  });  

2、CPU使用记录走势图

通过相关配置,可以生成一个随着时间变化(每隔5秒更新一次)的曲线图。

var chart;  $(function() {      chart = new Highcharts.Chart({          chart: {              renderTo: 'chart_spline', //图表放置的容器,DIV              defaultSeriesType: 'spline', //图表类型为曲线图              events: {                  load: function() {                       var series = this.series[0];                      //每隔5秒钟,图表更新一次,y数据值在0-100之间的随机数                      setInterval(function() {                          var x = (new Date()).getTime(), // 当前时间                          y = Math.random()*100;                           series.addPoint([x, y], true, true);                      },                      5000);                  }              }          },          title: {              text: 'CPU使用记录走势图'  //图表标题          },          xAxis: { //设置X轴              type: 'datetime',  //X轴为日期时间类型              tickPixelInterval: 150  //X轴标签间隔          },          yAxis: { //设置Y轴              title: '',              max: 100, //Y轴最大值              min: 0  //Y轴最小值          },          tooltip: {//当鼠标悬置数据点时的提示框              formatter: function() { //格式化提示信息                  return 'CPU使用率'+                  Highcharts.dateFormat('%H:%M:%S', this.x) +''+                   Highcharts.numberFormat(this.y, 2)+'%';              }          },          legend: {              enabled: false  //设置图例不可见          },          exporting: {              enabled: false  //设置导出按钮不可用          },          credits: {              text: 'Helloweba.com', //设置LOGO区文字              url: 'http://www.helloweba.com' //设置LOGO链接地址          },          series: [{              data: (function() { //设置默认数据,                  var data = [],                  time = (new Date()).getTime(),                  i;                    for (i = -19; i <= 0; i++) {                      data.push({                          x: time + i * 5000,                           y: Math.random()*100                      });                  }                  return data;              })()          }]      });  });  

注意,当X轴类型为datetime日期时间型的,需要设置时区,在开头加上以下代码即可:

Highcharts.setOptions({      global: {          useUTC: false      }  });  

//本文转载

使用Highcharts生成折线图与曲线图的更多相关文章

  1. 使用Highcharts生成折线图_at last

    //数据库数据的读取,读取数据后数据格式的转换,还有highchart数据源的配置,伤透了脑筋. anyway,最终开张了.哈哈! 数据库连接:conn_orcale.php <?php $db ...

  2. chart.js插件生成折线图时数据普遍较大时Y轴数据不从0开始的解决办法[bubuko.com]

    chart.js插件生成折线图时数据普遍较大时Y轴数据不从0开始的解决办法,原文:http://bubuko.com/infodetail-328671.html 默认情况下如下图 Y轴并不是从0开始 ...

  3. HighCharts基本折线图

    1.设计源码 <!DOCTYPE html> <!-- To change this license header, choose License Headers in Projec ...

  4. 利用JFreeChart生成折线图 (4) (转自 JSP开发技术大全)

    利用JFreeChart生成折线图 (4) (转自 JSP开发技术大全) 14.4 利用JFreeChart生成折线图 通过JFreeChart插件,既可以生成普通效果的折线图,也可以生成3D效果的折 ...

  5. highcharts实例教程一:结合php与mysql生成折线图

    Highcharts是一款纯javascript和html5编写的图表库,不仅几乎能兼容所有pc浏览器,而且对ios和android手机端的兼容 性也不错,它能够很简单便捷的在Web网站或Web应用中 ...

  6. .NET 使用 Highcharts生成扇形图 柱形图

    1.首先新建一个.NET网站,如图所示: 2.引用所需要的js类库,如下图 highcharts.js可以在网上搜索就可以找到下载了. 3.在Default.aspx页面引用js 4.在 body 下 ...

  7. 【EXCEL-折线图】百折不挠 | 用EXCEL画出与众不同的折线图(曲线图)

    很多熟悉EXLCE的朋友都知道EXCEL在生成统计图表方面的强大功能,我们在写各类总结.报告.方案等文档时常涉及到各类统计数字,将统计数字用图表的形式展示出来,既直观又美观.下面我分享一种不一样的折线 ...

  8. Highcharts之折线图

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. Android自定义控件:图形报表的实现(折线图、曲线图、动态曲线图)(View与SurfaceView分别实现图表控件)

    图形报表很常用,因为展示数据比较直观,常见的形式有很多,如:折线图.柱形图.饼图.雷达图.股票图.还有一些3D效果的图表等. Android中也有不少第三方图表库,但是很难兼容各种各样的需求. 如果第 ...

随机推荐

  1. java.sql.ResultSetMetaData.getColumnLabel和getColumnName的区别

    如果将ResultSet的结果映射到HashMap中,要使用getColumnLabel,而不要用getColumnName,这样可提高程序的健壮性 理由: getColumnName返回的是sql语 ...

  2. DKNY_百度百科

    DKNY_百度百科 DKNY

  3. #include <memory>

    1 auto_ptr 2 unique_ptr 1 auto_ptr C++的auto_ptr所做的事情,就是动态分配对象以及当对象不再需要时自动执行清理. 使用std::auto_ptr,要#inc ...

  4. JSP、JSTL、EL

    Jsp Jsp内置对象: Response.Request.Page.pageContext.session.out.application.exception.config Out->jspW ...

  5. Cocos2d—X游戏开发之CCTableView详解(十一)

    本来很早就想写关于CCTableView的文章,但是在基本功能实现之后呢,项目需求增加导致对这个控件的研究必须更加深入一点. 好的,现在开始介绍一下这个控件,在Cocos2d—X引擎中,这是一个仿制i ...

  6. android 抽屉式滑动demo

    下载地址:https://github.com/asijack/AndroidDrawerDemo 直接上效果图如下: 是不是还不错的样子. 先看看布局文件吧 <android.support. ...

  7. HTML5 file api读取文件的MD5码工具

    1.工具的用途:用HTML5 file api读取文件的MD5码.MD5码在文件的唯一性识别上有很重要的应用,业内常用MD5进行文件识别.文件秒传.文件安全性检查等: 2.适用性:IE.Chrome皆 ...

  8. 获取文件数据流+叠加byte数组(给byte数组加包头包尾)

    OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "(*.mp4)|*.mp4|(*.*)|*.*"; ofd.Res ...

  9. JSP标签库

    step1: 定义一个标签处理类:改类必须实现SimpleTag接口,在实际中是拓展它的子类SimpleTagSupport.复写doTag方法 public class MyTag extends ...

  10. BZOJ 3533: [Sdoi2014]向量集( 线段树 + 三分 )

    答案一定是在凸壳上的(y>0上凸壳, y<0下凸壳). 线段树维护, 至多N次询问, 每次询问影响O(logN)数量级的线段树结点, 每个结点O(logN)暴力建凸壳, 然后O(logN) ...