Highcharts实现走势图
Highcharts 是一个用纯JavaScript编写的一个图表库, 能够很简单便捷的在web网站或是web应用程序添加有交互性的图表,并且免费提供给个人学习、个人网站和非商业用途使用。HighCharts支持的图表类型有曲线图、区域图、柱状图、饼状图、散状点图和综合图表。
HighCharts中文api很少,并且零散不全,一般通过http://api.highcharts.com/highcharts也都可以看懂。
先看效果吧

这个是近期(9月2日到11月27日的汇率走势图)数据,其实现非常简单,关键代码如下 1 <div id="win1" class="mini-window" title="近期汇率走势" style="width:95%;height:80%;" showModal="true" allowResize="true" >

2 <div id="chartContainer" style="width:100%;height:100%;"></div>
3 </div>
4
5 <script id="jquery_183" type="text/javascript" class="library" src="/js/sandbox/jquery/jquery-1.8.3.min.js"></script>
6 <script src="http://code.highcharts.com/highcharts.js"></script>
7 <script src="http://code.highcharts.com/modules/exporting.js"></script>
8
9 <script type="text/javascript">
10 var Xaxis; //X轴上面显示的数据
11 var AllData; //走势图中的数据
12
13 $.ajax({
14 url: '~~~~~',
15 type: 'GET',
16 success: function (e) {
Xaxis = mini.decode(e, true); //通过后来成功返回后,要对其进行编码,使其成为json对象
18 $.ajax({
19 url: '~~~~~~~',
20 type: 'GET',
21 success: function (e) {
22 debugger
23 AllData = mini.decode(e, true);
24 showChartWindow(); //构造Highcharts 所需要的数据
25 grid.unmask();
26 },
27 error: function (jqXHR, textStatus, errorThrown) {
28 alert(jqXHR.responseText);
29 grid.unmask();
30 }
31 });
32 },
33 error: function (jqXHR, textStatus, errorThrown) {
34 alert(jqXHR.responseText);
35 grid.unmask();
36 }
37 });
38
39 function showChartWindow() {
40 var win = mini.get("win1");
41 win.show();
42 var chart = new Highcharts.Chart({
43 chart: {
44 renderTo: 'chartContainer',
45 type: 'line',
46 marginRight: 130,
47 marginBottom: 25
48 },
49 title: {
50 text: '汇率走势',
51 x: -20 //center
52 },
53 xAxis: {
54 categories: Xaxis
55 },
56 yAxis: {
57 title: {
58 text: '元'
59 },
60 plotLines: [{
61 value: 5.5,
62 width: 2,
63 color: '#FF0000'
64 }]
65 },
66 tooltip: {
67 formatter: function () {
68 return '<b>' + this.series.name + '</b><br/>' +
69 this.x + ': ' + this.y + '元';
70 }
71 },
72 legend: {
73 layout: 'vertical',
74 align: 'right',
75 verticalAlign: 'top',
76 x: 10,
77 y: 100,
78 borderWidth: 0
79 },
80 series: AllData,
81 credits: { enabled: false }
82 }
83 );
84 }

其中,后台成功返回的Xaxis 数据为:
['09/02','09/03','09/04','09/05','09/06','09/09','09/10','09/11','09/12','09/13','09/16','09/17','09/22','09/23','09/24','09/25','09/26','09/27','09/29','10/08','10/09','10/10','10/11','10/14','10/15','10/16','10/17','10/18','10/21','10/22','10/23','10/24','10/25','10/28','10/30','10/31','11/01','11/04','11/05','11/07','11/11','11/12','11/13','11/14','11/15','11/18','11/19','11/20','11/21','11/22','11/25','11/26',]
返回的AllData数据为:
[{name:'汇率',data:[6.17,6.17,6.17,6.17,6.17,6.16,6.16,6.16,6.16,6.16,6.16,6.16,6.16,6.15,6.15,6.15,6.15,6.15,6.15,6.14,6.14,6.15,6.15,6.14,6.14,6.14,6.14,6.14,6.14,6.14,6.13,6.13,6.13,6.13,6.14,6.14,6.15,6.15,6.14,6.15,6.14,6.14,6.13,6.13,6.14,6.13,6.13,6.13,6.14,6.14,6.13,6.14,]}],data中的数据必须为数字,否则无法显示
其他功能:
1.点击右上角的小方框,可以下载走势图的图片(多种格式);
2.点击右侧“汇率”,则可以以藏该走势线条,如下图
Highcharts实现走势图的更多相关文章
- 使用Highcharts生成折线图与曲线图
折线图与曲线图可以显示随时间而变化的连续数据,因此非常适用于显示在相等时间间隔下数据的趋势.本文将结合Highcharts,生成一个城市气温变化折线图和一个随时间动态即时显示CPU走势的曲线图. 如果 ...
- 【转】使用Python matplotlib绘制股票走势图
转载出处 一.前言 matplotlib[1]是著名的python绘图库,它提供了一整套绘图API,十分适合交互式绘图.本人在工作过程中涉及到股票数据的处理如绘制K线等,因此将matplotlib的使 ...
- 用C#开发的双色球走势图(二)
昨晚由于时间的原因只写了一部分内容,今天将这一部分内容补充完毕,多谢各位园友的支持. 这是用C#开发的双色球走势图(一)新的园友可以看昨晚写的内容,以免脱节.首先回复园友的评论,有说好的有说不好的,本 ...
- 用C#开发的双色球走势图(一)
首先声明,个人纯粹无聊之作,不作商业用途. 我相信每个人都拥有一个梦想那就是有朝一日能中500W,这个也一直是我的梦想,并默默每一期双色球或多或少要贡献自己一点点力量,本人并不属于那种铁杆的彩票迷,每 ...
- WebService学习--股票走势图+天气预报实现
互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取股票数据和天气预报为例进行学习 ...
- HighCharts基本折线图
1.设计源码 <!DOCTYPE html> <!-- To change this license header, choose License Headers in Projec ...
- laravel -查询近7月走势图案例
// 获取7月前的时间$time = date('Y-m',strtotime("-0 year -7 month -0 day" ));$where['created_at'] ...
- 在vue中使用highcharts的仪表图等扩展
仪表图(”solidgauge“)在highcharts中属于扩展,单独引入highcharts使用仪表图会报错,需要在你的组件中做一谢其他的引入: // 最主要是这里模块的引入 很坑 import ...
- 使用Highcharts生成折线图_at last
//数据库数据的读取,读取数据后数据格式的转换,还有highchart数据源的配置,伤透了脑筋. anyway,最终开张了.哈哈! 数据库连接:conn_orcale.php <?php $db ...
随机推荐
- k8s+docker学习连接汇总
http://guide.daocloud.io/dcs/docker-9153982.html http://www.dczou.com/viemall/802.html https://wangl ...
- SpringCloud(四)服务发现与消费:以ribbon为例
说明: ribbon是spring-cloud中作为服务消费者的一种角色,客户端可以通过它来对服务提供者的服务进行消费, 比如本例中是服务提供者注册到注册中心,服务提供者提供了一个服务接口,返回一个h ...
- Gmail登录(2017.10)
本文地址:http://www.cnblogs.com/veinyin/p/7646382.html 由于众所周知的原因,我们使用 Gmail 查看邮件时会有些麻烦,有时梯子不够用甚至不能查看. 比 ...
- final关键字详解
java中,final关键字可以用来修饰类.方法和变量(包括成员变量和局部变量).下面就从这三个方面来了解一下final关键字的基本用法. 1.修饰类 当用final修饰一个类时,表明这个类不能被继承 ...
- 【leetcode 简单】第十题 实现strStr()
实现 strStr() 函数. 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始).如果不存在,则返 ...
- JS设计模式——3.封装与信息隐藏
封装.信息隐藏与接口的关系 信息隐藏是目的,封装是手段. 接口提供了一份记载着可供公共访问的方法的契约.它定义了两个对象间可以具有的关系.只要接口不变,这个关系的双方都是可以替换的. 一个理想的软件系 ...
- OGG相关操作
参数文件详解: 1)truncate ogg 进程: Manager进程:manager进程是配置在源端和目标端 Extract(抽取)进程:部署在源端,用于捕获数据表或者日志中的数据文件: Pump ...
- 28 - 生成器交互-__slots__-未实现异常
目录 1 生成器交互 2 slots 3 未实现和未实现异常 4 Python的对象模型 1 生成器交互 生成器提供了一个send方法用于动态的和生成器对象进行交互.怎么理解的呢?看下面的例子: de ...
- python基础===猴子补丁
>>> class test: def A(self, x, y): return x+y >>> t = test() >>> t.A(10,2 ...
- 94.Binary Tree Inorder Traversal---二叉树中序非递归遍历
题目链接 题目大意:中序遍历二叉树.先序见144,后序见145. 法一:DFS,没啥说的,就是模板DFS.代码如下(耗时1ms): public List<Integer> inorder ...