纯JAVASCRIPT图表动画插件Highcharts Examples

下面是“纯JAVASCRIPT图表动画插件Highcharts Examples”完整攻略:

1. Highcharts介绍

Highcharts是一个纯JavaScript编写的图表库,提供了很多基础的图表类型及其组合,包括线图、柱状图、散点图、区域图、饼图、环形图等,并且支持动态数据加载,动画效果等,同时还有非常详细的文档及示例。

2. Highcharts的常见配置项

Highcharts的常见配置项可以参考官方文档中的API中心,下面是一些常见的配置参数及其作用:

  • chart:提供整个图表的设置,如类型、大小等。
  • title:标题设置。
  • xAxis/yAxis:X/Y轴的数据范围设置。
  • series:各个数据系列的设置,如数据源、颜色、大小等。
  • tooltip:鼠标悬浮到数据项上时的提示框设置。
  • legend:图例设置。
  • plotOptions:针对不同类型的图表提供的配置项,如堆积效果、标签样式等。

3. Highcharts Examples

下面是两个Highcharts的示例说明。

示例1:动态更新线图

下面是一个动态更新的折线图。图表中的数据是从服务器请求而来的,每1秒钟更新一次,并通过动画效果进行切换,代码如下:

var chart = Highcharts.chart('container', { // 创建一个chart实例
  chart: {
    type: 'line',
    animation: Highcharts.svg, // 图表初始化完成后是否进行动画效果
    marginRight: 10,
    events: {
      load: function() { //图表加载完成后的回调函数
        var series = this.series[0]; //获取当前数据系列
        setInterval(function() { // 定时器每隔1s更新数据
          var x = (new Date()).getTime(),
              y = Math.random();
          series.addPoint([x, y], true, true); // 更新数据点
        }, 1000);
      }
    }
  },
  title: {
    text: '动态实时更新数据折线图'
  },
  xAxis: {
    type: 'datetime',
    tickPixelInterval: 150
  },
  yAxis: {
    title: {
      text: '数值'
    },
    plotLines: [{
      value: 0,
      width: 1,
      color: '#808080'
    }]
  },
  tooltip: {
    formatter: function() {
      return '<b>' + this.series.name + '</b><br/>' +
        Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.x) + '<br/>' +
        Highcharts.numberFormat(this.y, 2);
    }
  },
  legend: {
    enabled: false
  },
  exporting: {
    enabled: false
  },
  series: [{
    name: '随机数据',
    data: (function() { // 初始数据
      var data = [],
          time = (new Date()).getTime(),
          i;

      for (i = -19; i <= 0; i++) {
        data.push({
          x: time + i * 1000,
          y: Math.random()
        });
      }
      return data;
    })()
  }]
});

示例2:堆积柱状图

下面是一个简单的堆积柱状图。图表中的数据是直接写在代码中的,用于展示不同数据系列之间的比较情况,代码如下:

var chart = Highcharts.chart('container', { // 创建一个chart实例
  chart: {
    type: 'column'
  },
  title: {
    text: '2018-2019年各地油田产量情况比较'
  },
  xAxis: {
    categories: ['山西油田', '辽河油田', '胜利油田', '大庆油田', '吉林油田']
  },
  yAxis: {
    min: 0,
    title: {
      text: '亿吨'
    },
    stackLabels: {
      enabled: true,
      style: {
        fontWeight: 'bold',
        color: ( // 返回一个颜色值,用于标签的颜色设置
          Highcharts.defaultOptions.title.style &&
          Highcharts.defaultOptions.title.style.color
        ) || 'gray'
      }
    }
  },
  legend: {
    align: 'right',
    x: -30,
    verticalAlign: 'top',
    y: 25,
    floating: true, // 图例是否浮动
    backgroundColor: Highcharts.defaultOptions.legend.backgroundColor || 'white',
    borderColor: '#CCC',
    borderWidth: 1,
    shadow: false
  },
  tooltip: {
    headerFormat: '<b>{point.x}</b><br/>',
    pointFormat: '{series.name}: {point.y}<br/>Total: {point.stackTotal}'
  },
  plotOptions: {
    column: {
      stacking: 'normal', // 堆积效果
      dataLabels: {
        enabled: true,
        color: (Highcharts.theme && Highcharts.theme.dataLabelsColor) || 'white'
      }
    }
  },
  series: [{
    name: '2018年',
    data: [5, 3, 4, 7, 2]
  }, {
    name: '2019年',
    data: [3, 4, 4, 2, 5]
  }]
});

以上是对“纯JAVASCRIPT图表动画插件Highcharts”完整攻略的说明,希望能对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:纯JAVASCRIPT图表动画插件Highcharts Examples - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • connection reset by peer问题总结及解决方案

    Connection reset by peer问题总结及解决方案 问题描述 在使用网络进行数据传输时,有时候可能会遇到“connection reset by peer”的问题。这个问题表示在和远程主机通信时,远程主机强制关闭了连接。 问题原因 导致“connection reset by peer”问题的原因有很多。以下是几个可能的原因: 网络故障:有时…

    JavaScript 2023年5月27日
    00
  • Javascript aop(面向切面编程)之around(环绕)分析

    JavaScript AOP(面向切面编程)是一种可以帮助我们在不改变原有代码的前提下,在代码执行前、中、后插入新的逻辑的编程技术。其中,Around(环绕)是AOP的一种实现方式,它可以在目标方法被调用之前和之后执行自定义的方法。 下面是使用JavaScript实现Around AOP的完整攻略。 1. 定义目标方法 首先,我们需要定义一个目标方法,也就是…

    JavaScript 2023年5月27日
    00
  • 半个小时学json(json传递示例)

    接下来我将详细介绍Markdown格式的完整攻略:半个小时学JSON(JSON传递示例)。 半个小时学JSON 什么是JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON是基于JavaScript语言的部分语法的格式,但是它是一种独立于任何语言的数据格式。 …

    JavaScript 2023年5月27日
    00
  • JS基于FileSaver.js插件实现文件保存功能示例 原创

    c1 简介 本文介绍了如何使用FileSaver.js插件实现Javascript文件保存功能。 FileSaver.js是一个Javascript库,提供了将文件保存到本地的功能。该库主要用于浏览器端,支持多种类型的文件格式,包括文本、CSV、PDF、Image等等。 c2 安装 要使用FileSaver.js插件,需要先将其引入到HTML页面中。可以通过…

    JavaScript 2023年5月27日
    00
  • 浅谈JavaScript对象的创建方式

    JavaScript 是一种面向对象的编程语言,对象是它的核心。在 JavaScript 中,对象可以通过不同的方式进行创建。下面将详细讲解 JavaScript 对象的创建方式。 字面量创建对象 JavaScript 对象可以通过字面量的方式创建。字面量创建的对象很简单,只需要 {} 这个大括号。在这个大括号中填写数据,即可创建一个对象,它的属性和值由大括…

    JavaScript 2023年5月18日
    00
  • 精通JS正则表达式(推荐)

    精通JS正则表达式(推荐)攻略 什么是正则表达式? 正则表达式是一种用于匹配字符串模式的工具,它可以帮助我们对字符串进行复杂的匹配和替换操作。JavaScript中的正则表达式是由一个模式和一些可选的标志组成的。 正则表达式的语法 在 JavaScript 中,正则表达式是包含在斜杠之间的模式,如下所示: var pattern = /test/; // 匹…

    JavaScript 2023年6月10日
    00
  • HTML+JavaScript模拟实现简单的时钟效果

    下面是HTML+JavaScript模拟实现简单的时钟效果的攻略: 准备工作 首先需要编写一个HTML页面,里面包含用于显示时钟的元素,可以是一个<div>、<span>等等。其中,我们可以用CSS设置时钟的样式,比如字体大小、颜色、边框等。 编写JavaScript代码 获取当前时间 JavaScript提供了Date()对象,可以…

    JavaScript 2023年5月27日
    00
  • js字符串操作总结(必看篇)

    下面我就来详细讲解一下“js字符串操作总结(必看篇)”的完整攻略。 JS字符串操作总结 字符串基础 在JS中,字符串是由一系列Unicode字符组成的字符序列。JavaScript中的字符串是不可变的,即一旦创建了一个字符串,就无法再对其进行修改。 字符串字面量 当我们需要使用字符串时,可以使用字符串字面量来创建一个字符串。在代码中,字符串字面量是由一对单引…

    JavaScript 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部