Skip to content

HighCharts - 快速指南

本指南提供了 Highcharts 快速入门的概述,涵盖了从设置到基本图表创建的基本概念。

Highcharts 是一个现代的 JavaScript 图表库,用于为 Web 项目添加交互式、响应式图表。它使用 SVG 渲染,可在所有设备上呈现清晰的视觉效果,并且独立运行,无需 jQuery 等外部库。

  • 兼容性:兼容所有现代浏览器,并提供框架包装器(React、Vue、Angular)。
  • 交互性:支持缩放、平移、工具提示。
  • 响应式:使图表适应不同的屏幕尺寸。
  • 丰富的图表类型:线图、柱状图、饼图、面积图、散点图、气泡图、3D图、地图、股票图、仪表图、热力图、树状图等等。
  • 独立运行:无需 jQuery 或其他库依赖。
  • 简单配置:使用 JavaScript 对象进行简单设置。
  • 动态性:允许实时更新数据和配置。
  • 可访问性:支持 ARIA 标准和键盘导航。
  • 导出/打印:内置图片和 PDF 导出功能,以及打印功能。
  • 可扩展 API:提供深度定制选项。

非商业用途免费。商业用途需要付费许可。请参阅 Highcharts 官方网站了解详情。

你可以使用 CDN 或 NPM/Yarn 来搭建 Highcharts 环境。

在 HTML 中引入脚本:

<!DOCTYPE html>
<html>
<head>
<title>Highcharts CDN</title>
<script src="https://code.highcharts.com/highcharts.js"></script>
<!-- Optional: Add modules like exporting -->
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<script src="https://code.highcharts.com/modules/accessibility.js"></script>
</head>
<body>
<div id="chartContainer" style="width:100%; height:400px;"></div>
<script>
// Your chart configuration script here
document.addEventListener('DOMContentLoaded', function () {
Highcharts.chart('chartContainer', { /* options */ });
});
</script>
</body>
</html>

使用 NPM/Yarn (推荐用于构建系统):

Section titled “使用 NPM/Yarn (推荐用于构建系统):”
  1. 安装:npm install highcharts 或 yarn add highcharts

  2. 导入并初始化:

import Highcharts from 'highcharts';
import Exporting from 'highcharts/modules/exporting';
Exporting(Highcharts); // Initialize module
// ... later in your code
Highcharts.chart('containerElementId', { /* options */ });

Highcharts 使用一个 JavaScript 对象来定义图表选项。基本结构包括创建一个 HTML 容器,然后调用 Highcharts.chart()。

添加一个带有唯一 ID 的 <div> 元素,图表将在此处渲染。

<div id="container" style="width: 550px; height: 400px; margin: 0 auto"></div>

使用一个 JavaScript 对象来定义图表的外观和数据。主要属性包括:

  • chart:基本图表选项,例如类型(例如,‘line’,‘bar’)。
  • title:图表的主标题。
  • subtitle:可选的副标题。
  • xAxis:水平轴(类别、标签、标题)的配置。
  • yAxis:垂直轴(标签、标题、标示线)的配置。
  • tooltip:悬停弹出信息的设置。
  • legend:图表图例的配置。
  • series:一个包含要绘制的数据系列的数组。每个系列对象通常包含一个 name 和 data 数组。

使用 Highcharts.chart(containerId, optionsObject) 来渲染图表。

<!DOCTYPE html>
<html>
<head>
<title>Highcharts Basic Example</title>
<script src="https://code.highcharts.com/highcharts.js"></script>
</head>
<body>
<div id="container" style="width: 550px; height: 400px; margin: 0 auto"></div>
<script>
document.addEventListener('DOMContentLoaded', function () {
const options = {
chart: {
type: 'line'
},
title: {
text: 'Monthly Average Temperature'
},
subtitle: {
text: 'Source: Fictional Data'
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
yAxis: {
title: {
text: 'Temperature (°C)'
}
},
tooltip: {
valueSuffix: '°C'
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'middle'
},
series: [{
name: 'City A',
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: 'City B',
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]
}]
};
const chart = Highcharts.chart('container', options);
});
</script>
</body>
</html>

运行此 HTML 文件将在 ‘container’ div 中显示一个标题为 ‘Monthly Average Temperature’ 的折线图。它将显示两条线,一条代表 ‘City A’,一条代表 ‘City B’,绘制它们在 X 轴上列出的月份中的温度数据。悬停在点上会显示带有精确温度的工具提示。

Highcharts 支持范围广泛的图表类型:

类别示例
折线图基本折线图、曲线图、阶梯线图、时间序列图。
面积图基本面积图、堆叠面积图、百分比面积图。
条形图/柱状图基本图、堆叠图、分组图、负值、下钻图。
饼图基本饼图、圆环图、半圆图、下钻图、渐变图。
散点图/气泡图散点图、气泡图(大小代表第三个变量)。
动态图表实时更新、交互式添加点。
组合图混合类型(例如,折线图和柱状图)、多轴图。
3D 图表柱状图、饼图等的 3D 版本。
仪表图速度计、实心仪表图、VU 表。
热力图/树状图矩阵数据可视化、层级数据可视化。

本快速指南涵盖了基础知识。探索后续章节或 Highcharts 官方文档和示例库,获取每种图表类型和高级功能的详细示例。