# 1.1 Highcharts概述
## 1.1.1 Highcharts 是什么?
![](https://box.kancloud.cn/01fef96052eee2b1f3711348df431aab_425x142.png)
Highcharts 是一个用纯 JavaScript 编写的一个图表库, 能够很简单便捷的在 Web 网站或是 Web 应用程序添加有交互性的图表,并且免费提供给个人学习、个人网站和非商业用途使用。
Highcharts 支持的图表类型有直线图、曲线图、区域图、柱状图、饼状图、散状点图、仪表图、气泡图、瀑布流图等多达 20 种图表,其中很多图表可以集成在同一个图形中形成混合图。
## 相关网站
【**官网**】:www.highcharts.com
【**中文官网**】:https://www.hcharts.cn/
## 1.1.2 Highcharts 的主要优势
【**兼容性**】—— Highcharts 可以在所有的移动设备及电脑上的浏览器中使用,包括 iPhone,iPad 和 IE6 以上的版本,在 IOS 和 Android 系统中 Highcharts 支持多点触摸功能,因而可以给您提供极致的用户体验。在现代的浏览器中使用 SVG 技术进行图形绘制,在低版本 IE 则使用 VML 进行图形绘制。
【**非商业使用免费**】——在个人网站、学校网站及非盈利机构中使用 Highcharts 完全不需要经过我们的许可,直接可以任意使用!
【**开源**】—— Highcharts 最重要的特点之一就是:无论免费版还是付费版,你都可以下载源码并可以对其进行编辑。
【**纯JavaScript**】—— Highcharts 完全基于 HTML5 技术,不需要再客户端安装任何插件,如 Flash 或 Java。此外你也不用配置任何服务端环境,不需要 PHP、Tomcat、ASP.NET 等,只需要两个 JS 文件即可运行。
【**丰富的图表类型**】——Highcharts 支持的图表类型有直线图、曲线图、区域图、柱状图、饼状图、散状点图、仪表图、气泡图、瀑布流图等多达 20 种图表,其中很多图表可以集成在同一个图形中形成混合图。
【**简单的配置语法**】——在 Highcharts 中设置配置选项不需要任何高级的编程技术,所有的配置都是 JSON 对象,只包含用冒号连接的键值对、用逗号进行分割、用括号进行对象包裹。JSON 具有易于人阅读和编写,同时也易于机器解析和生成的特点。
【**动态交互性**】——Highcharts 支持丰富交互性,在图表创建完毕后,可以用丰富的 API 进行添加、移除或修改数据列、数据点、坐标轴等操作。
结合 jQuery 的 ajax 功能,可以做到实时刷新数据、用户手动修改数据等功能,结合事件处理,可以做到各种交互功能。
【**支持多坐标轴**】——多个数据进行对比这是非常常见的需求,Highcharts 可以让你为每个类型的数据添加坐标轴,每个轴可以定义放置的位置,所有的设置都可以独立生效,包括旋转、样式设计和定位,当然也支持多个数据共用一个坐标轴。
【**数据提示框**】——当鼠标划过图形时,Highcharts 可以将数据点或数据列的信息展示在提示框中,并且提示框会跟随用户的鼠标;我们做了大量工作,可以智能的显示离鼠标最近的点或被遮盖点的信息。
【**时间轴**】——75% 的直角坐标系(包含 X轴 和 Y轴)图表中是时间轴图表,因为 Highcharts 对时间轴的处理非常智能。Highcharts 以毫秒为单位,可以精确的计算出月、周、日、小时、分钟等时间刻度的位置。
【**导出和打印**】——Highcharts 支持导出功能,用户可以一键导出 PNG、JPEG、PDF 或 SVG 文件,通过插件可以实现导出为 Excel 文件功能;另外,用户还可以从网页上直接打印图表。
【**缩放和钻取**】——通过缩放可以方便的查看不同范围的数据;通过钻取可以方便的查看不同级别的详细数据。
【**方便加载外部数据**】——Highcharts 的数据是 JavaScript 数组或对象,这些数据可以是本地的配置对象,独立的数据文件(JSON、CVS)甚至是不同的网站上定义。另外,这些数据可以用任何形式处理好并加载到 Highcharts 中。
【**仪表图**】——仪表图对于 Dashboard 来说特别理想,这种图表就像速度计一样,一眼就可以轻松阅读。
【**极地图**】——折线图、面积图、柱形图等图形可以通过一个简单的配置转换成极地图、雷达图。
【**图表或坐标轴反转**】——Highcharts 支持图表反转(X 轴或 Y轴对调),这样 X轴是垂直的,方便进行数据对比;坐标轴旋转则可以坐标轴的最大值和最小值显示对调。
【**文本旋转**】——图表中所有的文本,包括坐标轴标签、数据标签等都可以进行任意角度旋转。