目录

Highcharts - 快速指南

Highcharts - Overview

Highcharts是一个纯粹的基于JavaScript的图表库,旨在通过添加交互式图表功能来增强Web应用程序。 它支持各种图表。 在Chrome,Firefox,Safari,Internet Explorer(IE)等标准浏览器中使用SVG绘制图表。 在传统的IE 6中,VML用于绘制图形。

Highcharts图书馆的特点

现在让我们讨论一下Highcharts图书馆的一些重要特征。

  • Compatability - 在所有主流浏览器和Android和iOS等移动平台上无缝工作。

  • Multitouch Support - 支持基于触摸屏的平台上的多点触控,如Android和iOS.Ideal,适用于iPhone/iPad和基于Android的智能手机/平板电脑。

  • Free to Use - 开源,可以免费用于非商业目的。

  • Lightweight - highcharts.js核心库,大小接近35KB,是一个非常轻量级的库。

  • Simple Configurations - 使用json定义图表的各种配置,非常容易学习和使用。

  • Dynamic - 即使在生成图表后也允许修改图表。

  • Multiple axes - 不限于x,y轴。 支持图表上的多个轴。

  • Configurable tooltips - 当用户将鼠标悬停在图表上的任意点时,就会出现Configurable tooltips提示。 Highcharts提供工具提示内置格式化程序或回调格式化程序,以编程方式控制工具提示。

  • DateTime support - 特别处理日期时间。 提供多个日期明智类别的内置控件。

  • Export - 通过启用导出功能将图表导出为PDF/PNG/JPG/SVG格式。

  • Print - 使用网页打印图表。

  • Zoomablity - 支持缩放图表以更精确地查看数据。

  • External data - 支持从服务器动态加载数据。 使用回调函数提供对数据的控制。

  • Text Rotation - 支持在任何方向上旋转标签。

支持的图表类型

Highcharts库提供以下类型的图表 -

Sr.No. 图表类型和描述
1

Line Charts

用于绘制基于线/样条曲线的图表。

2

Area Charts

用于绘制区域明智的图表。

3

Pie Charts

用于绘制饼图。

4

Scatter Charts

用于绘制分散的图表。

5

Bubble Charts

用于绘制基于气泡的图表。

6

Dynamic Charts

用于绘制动态图表,用户可以在其中修改图表。

7

Combinations

用于绘制各种图表的组合。

8

3D Charts

用于绘制3D图表。

9

Angular Gauges

用于绘制车速表类型图表。

10

Heat Maps

用于绘制热图。

11

Tree Maps

用于绘制树图。

在随后的章节中,我们将通过示例详细讨论上述每种类型的图表。

Licence

Highcharts是开源的,可以免费用于非商业目的。 要在商业项目中使用Highcharts,请点击链接 - License and Pricing

Highcharts - Environment Setup

在本章中,我们将讨论如何设置要在Web应用程序开发中使用的Highcharts库。

Highcharts需要jQuery作为依赖项。 首先,我们将安装jQuery库,然后安装Highcharts库。

安装jQuery

有两种方法可以使用jQuery。

  • Download - 从jQuery.com本地下载并使用它。

  • CDN access - 您还可以访问CDN。 CDN将使您能够访问世界各地的区域数据中心; 在这种情况下,谷歌主机。 这意味着使用CDN将托管文件的责任从您自己的服务器转移到一系列外部服务器。 这也提供了一个优势,如果您的网页的访问者已经从同一CDN下载了jQuery副本,则不必重新下载。

使用Downloaded jQuery

使用以下脚本在HTML页面中包含jQuery JavaScript文件 -

<head>
   <script src = "/jquery/jquery.min.js"></script>
</head>

使用CDN

我们在本教程中使用了jQuery库的CDN版本。

使用以下脚本在HTML页面中包含jQuery JavaScript文件 -

<head>
   <script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
   </script>
</head>

安装Highcharts

以下是使用Highcharts的两种方法。

  • Download - 从highcharts.com本地下载并使用它。

  • CDN access - 您还可以访问CDN。 CDN将使您能够访问世界各地的区域数据中心; 在这种情况下,Highcharts主机 - Code.Highcharts.Com。

使用Downloaded Highcharts

使用以下脚本在HTML页面中包含Highcharts JavaScript文件 -

<head>
   <script src = "/highcharts/highcharts.js"></script>
</head>

使用CDN

在本教程中,我们使用的是Highcharts库的CDN版本。

使用以下脚本在HTML页面中包含Highcharts JavaScript文件 -

<head>
   <script src = "https://code.highcharts.com/highcharts.js"></script>
</head>

Highcharts - Configuration Syntax

在本章中,我们将展示使用Highcharts API绘制图表所需的配置。

第1步:创建HTML页面

使用jQuery和Highcharts javascript库创建一个HTML页面。

HighchartsTestHarness.htm

<html>
   <head>
      <title>Highcharts Tutorial</title>
      <script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
      </script>
      <script src = "https://code.highcharts.com/highcharts.js"></script>
   </head>
   <body>
      <div id = "container" style = "width: 550px; height: 400px; margin: 0 auto"></div>
      <script language = "JavaScript">
         $(document).ready(function() {
         });
      </script>
   </body>
</html>

这里container div用于包含使用Highcharts库绘制的图表。

第2步:创建配置

Highcharts库使用json语法使用非常简单的配置。

$('#container').highcharts(json);

这里json表示json数据和配置,Highcharts库使用highcharts()方法在容器div中绘制图表。 现在,我们将配置各种参数以创建所需的json字符串。

title

配置图表的标题。

var title = {
   text: 'Monthly Average Temperature'   
};

subtitle

配置图表的副标题。

var subtitle = {
   text: 'Source: WorldClimate.com'
};

xAxis

配置自动收录器显示在X轴上。

var xAxis = {
   categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'
      ,'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
};

yAxis

配置标题,绘制要在Y轴上显示的线条。

var yAxis = {
   title: {
      text: 'Temperature (\xB0C)'
   },
   plotLines: [{
      value: 0,
      width: 1,
      color: '#808080'
   }]
};  

tooltip

配置工具提示。 在值(y轴)之后添加后缀。

var tooltip = {
   valueSuffix: '\xB0C'
}

legend

将图例配置为显示在图表的右侧以及其他属性。

var legend = {
   layout: 'vertical',
   align: 'right',
   verticalAlign: 'middle',
   borderWidth: 0
};

series

配置要在图表上显示的数据。 Series是一个数组,其中此数组的每个元素在图表上表示一行。

var series = [
   {
      name: 'Tokyo',
      data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
   }, 
   {
      name: 'New York',
      data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5]
   }, 
   {
      name: 'Berlin',
      data: [-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0]
   }, 
   {
      name: 'London',
      data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]
   }
];

第3步:构建json数据

结合所有配置。

var json = {};
json.title = title;
json.subtitle = subtitle;
json.xAxis = xAxis;
json.yAxis = yAxis;
json.tooltip = tooltip;
json.legend = legend;
json.series = series;

第4步:绘制图表

$('#container').highcharts(json);

例子 (Example)

请考虑以下示例以进一步了解配置语法 -

highcharts_configuration.htm

<html>
   <head>
      <title>Highcharts Tutorial</title>
      <script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
      </script>
      <script src = "https://code.highcharts.com/highcharts.js"></script> 
   </head>
   <body>
      <div id = "container" style = "width: 550px; height: 400px; margin: 0 auto"></div>
      <script language = "JavaScript">
         $(document).ready(function() {
            var title = {
               text: 'Monthly Average Temperature'   
            };
            var subtitle = {
               text: 'Source: WorldClimate.com'
            };
            var xAxis = {
               categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
                  'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
            };
            var yAxis = {
               title: {
                  text: 'Temperature (\xB0C)'
               },
               plotLines: [{
                  value: 0,
                  width: 1,
                  color: '#808080'
               }]
            };   
            var tooltip = {
               valueSuffix: '\xB0C'
            }
            var legend = {
               layout: 'vertical',
               align: 'right',
               verticalAlign: 'middle',
               borderWidth: 0
            };
            var series =  [{
                  name: 'Tokyo',
                  data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2,
                     26.5, 23.3, 18.3, 13.9, 9.6]
               }, 
               {
                  name: 'New York',
                  data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 
                     24.1, 20.1, 14.1, 8.6, 2.5]
               }, 
               {
                  name: 'Berlin',
                  data: [-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6,
                     17.9, 14.3, 9.0, 3.9, 1.0]
               }, 
               {
                  name: 'London',
                  data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 
                     16.6, 14.2, 10.3, 6.6, 4.8]
               }
            ];
            var json = {};
            json.title = title;
            json.subtitle = subtitle;
            json.xAxis = xAxis;
            json.yAxis = yAxis;
            json.tooltip = tooltip;
            json.legend = legend;
            json.series = series;
            $('#container').highcharts(json);
         });
      </script>
   </body>
</html>

结果 (Result)

验证结果。

新页面打开

Highcharts - Line Charts

折线图用于绘制基于线/样条曲线的图表。 在本节中,我们将讨论基于线和样条曲线的不同类型的图表。

Sr.No. 图表类型和描述
1 Basic line

基本折线图。

2 带数据标签

带有数据标签的图表。

3 Ajax加载数据,可点击点

从服务器检索数据后绘制的图表。

4 Time series, zoomable

带有时间序列的图表。

5 Spline with inverted axes

具有反转轴的样条图。

6 Spline with symbols

样条图表使用符号为热/雨。

7 Spline with plot bands

样条带的样条图。

8 时间间隔不规则的时间数据

一组大量基于时间的数据的图表。

9 Logarithmic axis

描绘对数轴的图表。

Highcharts - Area Charts

面积图用于绘制基于区域的图表。 在本节中,我们将讨论不同类型的基于区域的图表。

Sr.No. 图表类型和描述
1 Basic Area

基本面积图。

2 Area with negative values

具有负值的面积图。

3 Stacked area

具有彼此堆叠的区域的图表。

4 Percentage area

包含百分比数据的图表。

5 Area with missing points

数据中缺少点的图表。

6 Inverted axes

使用倒轴的区域。

7 Area-spline

使用样条曲线的面积图。

8 Area range

使用范围的面积图。

9 Area range and line

使用范围和线的面积图。

Highcharts - Bar Charts

条形图用于绘制基于区域的图表。 在本节中,我们将讨论不同类型的条形图表。

Sr.No. 图表类型和描述
1 Basic Bar

基本条形图。

2 Stacked Bar

条形图有条形堆叠在一起。

3 Negative Stacked area

条形图与负堆栈。

Highcharts - Column Charts

柱形图用于绘制基于列的图表。 在本节中,我们将讨论不同类型的基于列的图表。

Sr.No. 图表类型和描述
1 Basic Column

基本柱形图。

2 Column with negative values

柱形图具有负值。

3 Stacked column

列具有相互堆叠的列。

4 Stacked and Grouped column

带有堆积和分组形式的列的图表。

5 Column with stacked percentage

图表与堆积百分比。

6 Column with rotated labels

列图中带有旋转标签的柱形图。

7 Column with drilldown

具有向下钻取功能的柱形图。

8 Column with fixed placement

具有固定位置的柱形图。

9 HTML表格中定义的数据

使用HTML表中定义的数据的柱形图。

10 Column Range

使用范围的柱形图。

Highcharts - Pie Charts

饼图用于绘制基于饼图的图表。 在本节中,我们将讨论不同类型的基于饼图的图表。

Sr.No. 图表类型和描述
1 Basic Pie

基本饼图。

2 Pie with Legends

饼图与传说。

3 Donut Chart

甜甜圈图表。

4 Semi circle Donut

半圈甜甜圈图表。

5 Pie with drill down

具有向下钻取功能的饼图。

6 Pie chart with gradient

饼图与渐变填充。

7 Pie chart with monochrome

饼图与单色填充。

Highcharts - Scatter Charts

散点图用于绘制基于散点图的图表。 在本节中,我们将讨论基于散点图的不同类型的图表。

Sr.No. 图表类型和描述
1 散点图

散点图。

Highcharts - Bubble Charts

气泡图用于绘制基于气泡的图表。 在本节中,我们将讨论不同类型的基于气泡​​的图表。

Sr.No. 图表类型和描述
1 气泡图

气泡图。

2 3D气泡图

3D气泡图。

Highcharts - Dynamic Charts

动态图表用于绘制基于数据的图表,其中数据在渲染图表后可以更改。 在本节中,我们将讨论不同类型的动态图表。

Sr.No. 图表类型和描述
1 Spline updating each second

样条图每秒更新一次。

2 单击以添加一个点

具有点附加功能的图表。

Highcharts - Combinations

组合图表用于绘制混合图表; 例如,带饼图的条形图。 在本节中,我们将讨论不同类型的组合图表。

Sr.No. 图表类型和描述
1 Column, Line and Pie

带有列,线和饼图的图表。

2 双轴,线和柱

双轴,直线和列的图表。

3 Multiple Axes

具有多个轴的图表。

4 Scatter with regression line

带回归线的散点图。

Highcharts - 3D Charts

3D图表用于绘制三维图表。 在本节中,我们将讨论不同类型的3D图表。

Sr.No. 图表类型和描述
1 3D专栏

3D柱形图。

2 带有null的3D列

具有null和0值的3D柱形图。

3 3D列与堆叠

3D柱形图与堆叠和分组。

4 3D派

3D饼图。

5 3D甜甜圈

3D甜甜圈图表。

Highcharts - Angular Gauges

角度计图表用于绘制仪表/仪表类型图表。 在本节中,我们将讨论不同类型的角度计图表。

Sr.No. 图表类型和描述
1 Angular Gauge

角度表。

2 实心仪​​表

实心图表。

3 Clock

时钟。

4 Gauge with dual axes

带双轴的仪表图。

5 VU Meter

VU表图表。

Highcharts - Heat Maps

热图图表用于绘制热图类型图表。 在本节中,我们将讨论不同类型的热图。

Sr.No. 图表类型和描述
1 Heat Map

热图。

2 大热图

大热图。

Highcharts - Tree Maps

树形图图用于绘制树形图类型图表。 在本节中,我们将讨论不同类型的树图。

Sr.No. 图表类型和描述
1 树地图

树图与颜色轴。

2 Tree Map with Levels

树级地图与级别。

3 Large Tree Map

大树地图。

↑回到顶部↑
WIKI教程 @2018