📅  最后修改于: 2020-11-30 04:48:16             🧑  作者: Mango
Highcharts是一个基于JavaScript的纯粹图表库,旨在通过添加交互式图表功能来增强Web应用程序。它支持各种图表。在标准浏览器(例如Chrome,Firefox,Safari,Internet Explorer(IE))中使用SVG绘制图表。在旧版IE 6中,VML用于绘制图形。
现在让我们讨论Highcharts库的一些重要功能。
兼容性-在所有主要的浏览器和移动平台(如android和iOS)上都可以正常工作。
多点触控支持-在基于触摸屏的平台(如android和iOS)上支持多点触控。适用于iPhone / iPad和基于android的智能手机/平板电脑。
免费使用-开源,可免费用于非商业目的。
轻量级的-highcharts.js核心库,大小接近35KB,是一个非常轻量级的库。
简单配置-使用json定义图表的各种配置,非常易于学习和使用。
动态-即使在生成图表后也可以修改图表。
多轴-不限于x,y轴。支持图表上的多轴。
可配置的工具提示-当用户将鼠标悬停在图表上的任何点上时,就会出现工具提示。 Highcharts提供了工具提示内置的格式化程序或回调格式化程序,以通过编程方式控制工具提示。
DateTime支持-专门处理日期时间。对日期明智的类别提供许多内置控件。
导出-通过启用导出功能将图表导出为PDF / PNG / JPG / SVG格式。
打印-使用网页打印图表。
可缩放性-支持缩放图表以更精确地查看数据。
外部数据-支持从服务器动态加载数据。使用回调函数提供对数据的控制。
文本旋转-支持标签向任意方向旋转。
Highcharts库提供以下类型的图表-
Sr.No. | Chart Type & Description |
---|---|
1 |
Line Charts Used to draw line/spline based charts. |
2 |
Area Charts Used to draw area wise charts. |
3 |
Pie Charts Used to draw pie charts. |
4 |
Scatter Charts Used to draw scattered charts. |
5 |
Bubble Charts Used to draw bubble based charts. |
6 |
Dynamic Charts Used to draw dynamic charts where user can modify charts. |
7 |
Combinations Used to draw combinations of variety of charts. |
8 |
3D Charts Used to draw 3D charts. |
9 |
Angular Gauges Used to draw speedometer type charts. |
10 |
Heat Maps Used to draw heat maps. |
11 |
Tree Maps Used to draw tree maps. |
在接下来的章节中,我们将通过示例详细讨论上述每种图表。
Highcharts是开源的,可以免费用于非商业目的。为了在商业项目中使用Highcharts,请点击链接-许可和定价
在本章中,我们将讨论如何设置用于网络应用程序开发的Highcharts库。
Highcharts需要jQuery作为依赖项。首先,我们将安装jQuery库,然后安装Highcharts库。
有两种使用jQuery的方法。
下载-从jQuery.com本地下载并使用。
CDN访问权限-您还可以访问CDN。 CDN将使您可以在世界各地访问区域数据中心;在这种情况下,由Google托管。这意味着使用CDN将将文件托管的责任从您自己的服务器转移到一系列外部服务器上。这还提供了一个优势,即如果您网页的访问者已经从同一CDN下载了jQuery副本,则不必重新下载它。
使用以下脚本在HTML页面中包含jQuery JavaScript文件-
在本教程中,我们一直在使用jQuery库的CDN版本。
使用以下脚本在HTML页面中包含jQuery JavaScript文件-
以下是使用Highcharts的两种方法。
下载-从highcharts.com本地下载并使用。
CDN访问权限-您还可以访问CDN。 CDN将使您可以在世界各地访问区域数据中心;在这种情况下,Highcharts主机-Code.Highcharts.Com。
使用以下脚本在HTML页面中包含Highcharts JavaScript文件-
在本教程中,我们一直在使用Highcharts库的CDN版本。
使用以下脚本在HTML页面中包含Highcharts JavaScript文件-
在本章中,我们将展示使用Highcharts API绘制图表所需的配置。
使用jQuery和Highcharts javascript库创建HTML页面。
HighchartsTestHarness.htm
Highcharts Tutorial
在这里,容器div用于包含使用Highcharts库绘制的图表。
Highcharts库使用json语法使用非常简单的配置。
$('#container').highcharts(json);
此处的json表示Highcharts库使用highcharts()方法在容器div中绘制图表的json数据和配置。现在,我们将配置各种参数以创建所需的json字符串。
配置图表标题。
var title = {
text: 'Monthly Average Temperature'
};
配置图表的字幕。
var subtitle = {
text: 'Source: WorldClimate.com'
};
配置股票代号以显示在X轴上。
var xAxis = {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'
,'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
};
配置标题,在Y轴上显示的绘图线。
var yAxis = {
title: {
text: 'Temperature (\xB0C)'
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
};
配置工具提示。将后缀添加到值(y轴)之后。
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);
考虑以下示例,以进一步了解配置语法-
highcharts_configuration.htm
Highcharts Tutorial
验证结果。
折线图用于绘制基于折线/样条的图表。在本节中,我们将讨论基于折线和样条图的不同类型。
Sr.No. | Chart Type & Description |
---|---|
1 | Basic line
Basic line chart. |
2 | With data labels
Chart with data labels. |
3 | Ajax loaded data, clickable points
Chart drawn after retrieving data from server. |
4 | Time series, zoomable
Chart with time series. |
5 | Spline with inverted axes
Spline chart having inverted axes. |
6 | Spline with symbols
Spline chart using symbols for heat/rain. |
7 | Spline with plot bands
Spline chart with plot bands. |
8 | Time data with irregular intervals
Chart of a large set of time based data. |
9 | Logarithmic axis
Chart depicting the logarithmic axis. |
面积图用于绘制基于面积的图。在本节中,我们将讨论基于区域的图表的不同类型。
Sr.No. | Chart Type & Description |
---|---|
1 | Basic Area
Basic area chart. |
2 | Area with negative values
Area chart having negative values. |
3 | Stacked area
Chart having areas stacked over one another. |
4 | Percentage area
Chart with data in percentage terms. |
5 | Area with missing points
Chart with missing points in the data. |
6 | Inverted axes
Area using inverted axes. |
7 | Area-spline
Area chart using spline. |
8 | Area range
Area chart using ranges. |
9 | Area range and line
Area chart using range and line. |
条形图用于绘制基于面积的图表。在本节中,我们将讨论基于条形图的不同类型。
Sr.No. | Chart Type & Description |
---|---|
1 | Basic Bar
Basic bar chart. |
2 | Stacked Bar
Bar chart having bar stacked over one another. |
3 | Negative Stacked area
Bar chart with negative stack. |
柱形图用于绘制基于柱形的图表。在本节中,我们将讨论基于列的图表的不同类型。
Sr.No. | Chart Type & Description |
---|---|
1 | Basic Column
Basic column chart. |
2 | Column with negative values
Column chart having negative values. |
3 | Stacked column
Chart having column stacked over one another. |
4 | Stacked and Grouped column
Chart with column in stacked and grouped form. |
5 | Column with stacked percentage
Chart with stacked percentage. |
6 | Column with rotated labels
Column Chart with rotated labels in columns. |
7 | Column with drilldown
Column Chart with drill down capability. |
8 | Column with fixed placement
Column Chart with fixed placement. |
9 | Data defined in HTML table
Column Chart using Data defined in HTML table. |
10 | Column Range
Column Chart using ranges. |
饼图用于绘制基于饼图的图表。在本节中,我们将讨论基于饼图的不同类型。
Sr.No. | Chart Type & Description |
---|---|
1 | Basic Pie
Basic pie chart. |
2 | Pie with Legends
Pie chart with Legends. |
3 | Donut Chart
Donut Chart. |
4 | Semi circle Donut
Semi circle Donut chart. |
5 | Pie with drill down
Pie chart with drill down capability. |
6 | Pie chart with gradient
Pie chart with gradient fill. |
7 | Pie chart with monochrome
Pie chart with monochrome fill. |
散点图用于绘制基于散点的图表。在本节中,我们将讨论基于散点图的不同类型。
Sr.No. | Chart Type & Description |
---|---|
1 | Scatter Chart
Scatter Chart. |
气泡图用于绘制基于气泡的图表。在本节中,我们将讨论基于气泡的图表的不同类型。
Sr.No. | Chart Type & Description |
---|---|
1 | Bubbles Chart
Bubbles Chart. |
2 | 3D Bubbles Chart
3D Bubbles Chart. |
动态图表用于绘制基于数据的图表,其中数据在呈现图表后可能会发生变化。在本节中,我们将讨论动态图表的不同类型。
Sr.No. | Chart Type & Description |
---|---|
1 | Spline updating each second
Spline Chart updating each second. |
2 | Click to add a point
Chart with point addition capability. |
组合图用于绘制混合图;例如,条形图和饼图。在本节中,我们将讨论组合图的不同类型。
Sr.No. | Chart Type & Description |
---|---|
1 | Column, Line and Pie
Chart with Column, Line and Pie. |
2 | Dual Axes, Line and Column
Chart with Dual Axes, Line and Column. |
3 | Multiple Axes
Chart having Multiple Axes. |
4 | Scatter with regression line
Scatter chart with regression line. |
3D图表用于绘制3D图表。在本节中,我们将讨论不同类型的3D图表。
Sr.No. | Chart Type & Description |
---|---|
1 | 3D Column
3D Column Chart. |
2 | 3D Column with null
3D Column Chart with null and 0 values. |
3 | 3D Column with stacking
3D Column Chart with stacking and grouping. |
4 | 3D Pie
3D Pie Chart. |
5 | 3D Donut
3D Donut Chart. |
角规图表用于绘制仪表/量规类型图表。在本节中,我们将讨论不同类型的角度规图表。
Sr.No. | Chart Type & Description |
---|---|
1 | Angular Gauge
Angular Gauge Chart. |
2 | Solid Gauge
Solid Gauge Chart. |
3 | Clock
Clock. |
4 | Gauge with dual axes
Gauge Chart with dual axes. |
5 | VU Meter
VU Meter Chart. |
热图图表用于绘制热图类型图表。在本节中,我们将讨论不同类型的热图。
Sr.No. | Chart Type & Description |
---|---|
1 | Heat Map
Heat Map. |
2 | Large Heat Map
Large Heat Map. |
树状图用于绘制树状图。在本节中,我们将讨论树形图的不同类型。
Sr.No. | Chart Type & Description |
---|---|
1 | Tree Map
Tree Map with color axis. |
2 | Tree Map with Levels
Tree Map with Levels. |
3 | Large Tree Map
Large Tree Map. |