Highcharts是一個制作圖表的純Javascript類庫,主要特性如下:
- 兼容性:兼容當今所有的瀏覽器,包括iPhone、IE和火狐等等;
- 對個人用戶完全免費;
- 純JS,無BS;
- 支持大部分的圖表類型:直線圖,曲線圖、區域圖、區域曲線圖、柱狀圖、餅裝圖、散布圖;
- 跨語言:不管是PHP、Asp.net還是Java都可以使用,它只需要三個文件:一個是Highcharts的核心文件highcharts.js,還有a canvas emulator for IE和Jquery類庫或者MooTools類庫;
- 提示功能:鼠標移動到圖表的某一點上有提示信息;
- 放大功能:選中圖表部分放大,近距離觀察圖表;
- 易用性:無需要特殊的開發技能,只需要設置一下選項就可以制作適合自己的圖表;
- 時間軸:可以精確到毫秒
下載插件
Highcharts下載地址
http://www.highcharts.com/download
jquery下載地址
本次介紹是把highcharts中的第一個文件拷貝過來,然后把其他的功能加在了這個文件中,然后查詢相關資料,導出圖片格式不需要連到官方服務器了,只需要在本地就可以。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="highchart_export_module_asp_net._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Highchart js export module sample</title>
<!-- 1.引入jquery庫 -->
<script src="Javascript/jquery-1.5.1.js" type="text/javascript"></script>
<!-- 2.引入highcharts的核心文件 -->
<script src="http://highcharts.com/js/highcharts.js" type="text/javascript"></script>
<!-- 3.引入導出需要的js庫文件 -->
<script src="http://highcharts.com/js/modules/exporting.js" type="text/javascript"></script>
</head>
<script language="javascript" type="text/javascript">
var chart;
$(document).ready(function () {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
defaultSeriesType: 'line', //圖表類別,可取值有:line、spline、area、areaspline、bar、column等
marginRight: 130,
marginBottom: 25
},
title: {
text: 'Monthly Average Temperature', //設置一級標題
x: -20 //center
},
subtitle: {
text: 'Source: WorldClimate.com', //設置二級標題
x: -20
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']//設置x軸的標題
},
yAxis: {
title: {
text: 'Temperature (°C)' //設置y軸的標題
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
tooltip: {
formatter: function () {
return '<b>' + this.series.name + '</b><br/>' +
this.x + ': ' + this.y + '°C'; //鼠標放在數據點的顯示信息,但是當設置顯示了每個節點的數據項的值時就不會再有這個顯示信息
}
},
legend: {
layout: 'vertical',
align: 'right', //設置說明文字的文字 left/right/top/
verticalAlign: 'top',
x: -10,
y: 100,
borderWidth: 0
},
exporting: {
enabled: true, //用來設置是否顯示‘打印’,'導出'等功能按鈕,不設置時默認為顯示
url: "http://localhost:49394/highcharts_export.aspx" //導出圖片的URL,默認導出是需要連到官方網站去的哦
},
plotOptions: {
line: {
dataLabels: {
enabled: true //顯示每條曲線每個節點的數據項的值
},
enableMouseTracking: false
}
},
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]
}]
});
});
</script>
<body>
<form id="form1" runat="server">
<!--5.導入容器用於顯示圖表-->
<div id="container" style="width: 900px;">
</div>
</form>
</body>
</html>
導出的圖片格式
可以做到頁面展示和導出的圖片一致了。
參考文章: