相识Highcharts,几分钟玩转Highcharts

Highcharts是一个功能强大、开源、美观、图表丰富、兼容绝大多数浏览器的纯js图表库。

官网:http://www.hcharts.cn/

我觉得对于刚接触一个东西的新手来说,有时候对一个东西真的可能毫无头绪,这个Highcharts的官网做的挺不错的。可以一点点学起。当然,看了下面我自己试着详细注释的代码,你可能看完就知道怎么用它了。了解了它的结构,查起API文档,Highcharts真的蛮简单。希望我可以帮你节省时间,你需要的只是API文档。

对了,别忘了先去下载highcharts.js这样的必备文件。

先看代码:

  1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  3 <head>
  4   <title></title>
  5   <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6   <script type="text/javascript" src="jquery-1.11.1.js"></script>
  7   <script type="text/javascript" src="highcharts.js"></script>
  8 </head>
  9 <body >
 10   <div id="container" style="height:400px"></div>
 11   <script>
 12 $(function () {
 13     /*全局配置*/
 14     Highcharts.setOptions({
 15         chart: {
 16             zoomType: ‘xy‘,
 17             /*图表背景颜色*/
 18             backgroundColor: ‘#ffffff‘,
 19             borderColor:‘#EBBA95‘,
 20             borderWidth:1,
 21             type: ‘line‘,
 22             /*这里改变字体和设置大小*/
 23             style: {
 24                 fontFamily: "Lucida Sans Unicode",
 25                 fontSize:‘12px‘,
 26             }
 27         }
 28     });
 29     /*容器内highcharts的配置*/
 30     $(‘#container‘).highcharts({
 31         /*版权信息*/
 32         credits : {
 33             text:‘‘
 34         },
 35         /*大标题*/
 36         title: {
 37             text: ‘双Y轴图‘
 38         },
 39         /*副标题*/
 40         subtitle: {
 41             text: ‘for:订单额和订单百分比‘
 42         },
 43         /*x轴*/
 44         xAxis: [{
 45             categories: [‘Jan‘, ‘Feb‘, ‘Mar‘, ‘Apr‘, ‘May‘, ‘Jun‘,
 46                 ‘Jul‘, ‘Aug‘, ‘Sep‘, ‘Oct‘, ‘Nov‘, ‘Dec‘]
 47         }],
 48         yAxis:
 49           [{ // Primary yAxis
 50             labels: {
 51                 format: ‘{value}%‘,
 52                 style: {
 53                     color: ‘#89A54E‘
 54                 }
 55             },
 56             title: {
 57                 text: ‘百分比‘,
 58                 style: {
 59                     color: ‘#89A54E‘
 60                 }
 61             },
 62             min : 0
 63         }, { // Secondary yAxis
 64             title: {
 65                 text: ‘订单额‘,
 66                 style: {
 67                     color: ‘#4572A7‘
 68                 }
 69             },
 70             labels: {
 71                 format: ‘{value} ‘,
 72                 style: {
 73                     color: ‘#4572A7‘
 74                 }
 75             },
 76             opposite: true,
 77             min : 0
 78         }],
 79         /*工具提示*/
 80         tooltip: {
 81              /*如果你需要给你图表的某一部分添加某些功能的话,就可以去查找Highcharts的函数库,像这样添加就可以了*/
 82              formatter: function () {
 83                 return ‘<b>‘ + this.series.name + ‘</b><br/>‘ +
 84                     this.x + ‘: ‘ + this.y;
 85             }
 86         },
 87         /*基图的一些参数,数据点配置*/
 88         plotOptions: {
 89           series:{
 90             cursor:‘pointer‘,
 91             /*折线中间白色圆圈*/
 92             marker:{
 93               fillColor:‘#FFFFFF‘,
 94               lineWidth:2,
 95               lineColor:null
 96             },
 97             point:{
 98                 /*数据点的事件,可以有click,mouseOut,mouseOver等*/
 99                 events:{
100                     click:function(){
101                         alert(‘category:‘+this.category+‘,value:‘+this.y);
102                     }
103                 }
104             }
105           }
106         },
107         /*图例*/
108         legend: {
109             layout: ‘vertical‘,
110             align: ‘left‘,
111             x: 520,
112             verticalAlign: ‘top‘,
113             y: 500,
114             floating: true,
115             backgroundColor: ‘#FFFFFF‘
116         },
117         /*数据列,针对每一个数据列都可以配置它的颜色,type等各种信息*/
118         series: [{
119             name: ‘订单数‘,
120             color: ‘#4572A7‘,
121             type: ‘column‘,
122             yAxis: 1,
123             data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
124             tooltip: {
125                 valueSuffix: ‘ ‘
126             },
127             /*这一数据列的显示颜色*/
128             color:‘#f29700‘
129
130         }, {
131             name: ‘百分比‘,
132             color: ‘#89A54E‘,
133             type: ‘spline‘,
134             data: [5.0, 7.9, 8.5, 11.5, 16.2, 11.5, 25.2, 21.5, 13.3, 16.3, 12.9, 6.6],
135             tooltip: {
136                 valueSuffix: ‘%‘
137             },
138             color:‘#f29700‘
139         },
140         {
141             name: ‘订单数‘,
142             color: ‘#4572A7‘,
143             type: ‘column‘,
144             yAxis: 1,
145             data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
146             tooltip: {
147                 valueSuffix: ‘ ‘
148             },
149             color:‘#666666‘
150
151         }, {
152             name: ‘百分比‘,
153             color: ‘#89A54E‘,
154             type: ‘spline‘,
155             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],
156             tooltip: {
157                 valueSuffix: ‘%‘
158             },
159             color:‘#666666‘
160         }]
161     });
162 });
163   </script>
164 </body>
165 </html>

实际上就是在hightcharts({})中进行各个模块的配置即可,所谓的配置就是给各个模块的对象字面量添加你所需要的对象,并给其赋值。

上面代码配置完成:

像api文档中提供的两个图,一目了然。

现在你情况都了解了,只要打开api文档去查询配置的参数就可以了,刚开始可能会感觉查起来头晕毫无头绪,其实只要按照上图,分门别类的查找起来,会发现其实很容易。

时间: 2024-08-20 03:44:52

相识Highcharts,几分钟玩转Highcharts的相关文章

学习 OpenStack 的方法论 - 每天5分钟玩转 OpenStack(150)

作为 OpenStack 的核心教程,我们已经到了最后总结的部分. OpenStack 目前已经有好几十个模块,本教程讨论的是最最重要的核心模块:Keystone,Nova,Glance,Cinder 和 Neutron.请大家看下图: 此图截自 https://www.openstack.org/software/project-navigator/,这是 OpenStack 官方定义的 6 个 Core Service.每个模块都会从三个维度来衡量: ADOPTION - 采用度 MATUR

准备 overlay 网络实验环境 - 每天5分钟玩转 Docker 容器技术(49)

为支持容器跨主机通信,Docker 提供了 overlay driver,使用户可以创建基于 VxLAN 的 overlay 网络.VxLAN 可将二层数据封装到 UDP 进行传输,VxLAN 提供与 VLAN 相同的以太网二层服务,但是拥有更强的扩展性和灵活性.有关 VxLAN 更详细的内容可参考 CloudMan 在<每天5分钟玩转 OpenStack>中的相关章节. Docerk overlay 网络需要一个 key-value 数据库用于保存网络状态信息,包括 Network.Endp

如何共享数据?- 每天5分钟玩转 Docker 容器技术(41)

数据共享是 volume 的关键特性,本节我们详细讨论通过 volume 如何在容器与 host 之间,容器与容器之间共享数据. 容器与 host 共享数据 我们有两种类型的 data volume,它们均可实现在容器与 host 之间共享数据,但方式有所区别. 对于 bind mount 是非常明确的:直接将要共享的目录 mount 到容器.具体请参考前面 httpd 的例子,不再赘述. docker managed volume 就要麻烦点.由于 volume 位于 host 中的目录,是在

Data Volume 之 bind mount - 每天5分钟玩转 Docker 容器技术(39)

storage driver 和 data volume 是容器存放数据的两种方式,上一节我们学习了 storage driver,本节开始讨论 Data Volume. Data Volume 本质上是 Docker Host 文件系统中的目录或文件,能够直接被 mount 到容器的文件系统中.Data Volume 有以下特点: Data Volume 是目录或文件,而非没有格式化的磁盘(块设备). 容器可以读写 volume 中的数据. volume 数据可以被永久的保存,即使使用它的容器

Docker 的两类存储资源 - 每天5分钟玩转 Docker 容器技术(38)

我们从本章开始讨论 Docker 存储. Docker 为容器提供了两种存放数据的资源: 由 storage driver 管理的镜像层和容器层. Data Volume. 我们会详细讨论它们的原理和特性. storage driver 在前面镜像章节我们学习到 Docker 镜像的分层结构,简单回顾一下. 容器由最上面一个可写的容器层,以及若干只读的镜像层组成,容器的数据就存放在这些层中.这样的分层结构最大的特性是 Copy-on-Write: 新数据会直接存放在最上面的容器层. 修改现有数据

cloud-init 典型应用 - 每天5分钟玩转 OpenStack(174)

本节介绍几个 cloud-init 的典型应用:设置 hostanme,设置用户初始密码,安装软件. 设置 hostname cloud-init 默认会将 instance 的名字设置为 hostname.但这样不太方便,有时希望能够将二者分开,可利用 cloud-init 的set_hostname 模块实现.set_hostname 它会查询 metadata 中 hostname 信息,默认值就是 instance 的名字.我们可以指定自己的 hostname,方法是将下面的内容传给 c

写在最前面 - 每天5分钟玩转 OpenStack(1)

<每天5分钟玩转 OpenStack>是一个 OpenStack 教程,这是第 1 篇. 这个教程有下面两个特点: 系统讲解 OpenStack 从架构到各个组件:从整体到细节逐一讨论 重实践并兼顾理论 主要从实际操作的角度带着大家学习 OpenStack. 为啥要写这个? 简单回答是:因为OpenStack 学习难度大,但如果掌握了价值会很大 先做一个自我介绍吧. 本人网名CloudMan,在 IT 这个行当已经摸爬滚打了十多年,05年之前是搞上层应用开发的,那时候 Java 比较火,所以

Swift简单入门教程:30分钟玩转Swift

通常来说,编程语言教程中的第一个程序应该在屏幕上打印“Hello, world”.在 Swift 中,可以用一行代码实现:    println("hello, world") 如果你写过 C 或者 Objective-C 代码,那你应该很熟悉这种形式——在 Swift 中,这行代码就是一个完整的程序.你不需要为了输入输出或者字符串处理导入一个单独的库.全局作用域中的代码会被自动当做程序的入口点,所以你也不需要main函数.你同样不需要在每个语句结尾写上分号. 这个教程会通过一系列编程

创建 Pool & VIP - 每天5分钟玩转 OpenStack(122)

上节完成了 LBaaS 配置,今天我们开始实现如下 LBaaS 环境. 环境描述如下:1. 创建一个 Pool "web servers".2. 两个 pool member "WEB1" 和 "WEB2",均为运行 Ubuntu cloud image 的 instance.3. load balancer VIP 与 floating IP 关联.4. 位于外网的 client 通过 floating IP 外网访问 web server.