官網地址:http://www.highcharts.com/
官網API地址:http://api.highcharts.com/highcharts
注意事項:數據中的數據一定要轉型,正是由於這個問題浪費了我一天時間,特此寫了這篇文章來記錄
html代碼:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_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></title>
<script src="Scripts/jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="Highcharts/highcharts.js" type="text/javascript"></script>
<script src="Highcharts/modules/exporting.js" type="text/javascript"></script>
</head>
<body>
<form id="form1" runat="server">
<fieldset>
<legend>Hightchart柱狀圖案例 </legend>
<div>
<script type="text/javascript">
/*獲取json數據開始*/
//定義變量
$(document).ready(function () {
var jsonXData = [];
var jsonyD1 = [];
var jsonyD2 = [];
//獲取數據
$.ajax({ url: 'Count.ashx',
cache: false,
async: false,
success: function (data) {
var json = eval("(" + data + ")");
if (json.Rows.length > 0) {
for (var i = 0; i < json.Rows.length; i++) {
var rows = json.Rows[i];
var Time = rows.Time;
var SumCount = rows.SumCount;
var IpCount = rows.IpCount;
jsonXData.push(Time); //賦值
//此處必須轉型,不轉型你就可以看到區別了
jsonyD1.push(parseInt(SumCount));
jsonyD2.push(parseInt(IpCount));
} //for
var chart;
chart = new Highcharts.Chart({
chart: {
renderTo: 'containerliuliang', //放置圖表的容器
plotBackgroundColor: null,
plotBorderWidth: null,
defaultSeriesType: 'column' //圖表類型line, spline, area, areaspline, column, bar, pie , scatter
},
title: {
text: 'JQuery柱狀圖演示'
},
xAxis: {//X軸數據
categories: jsonXData,
lineWidth: 2,
labels: {
rotation: -45, //字體傾斜
align: 'right',
style: { font: 'normal 13px 宋體' }
}
},
yAxis: {//Y軸顯示文字
lineWidth: 2,
title: {
text: '瀏覽量/次'
}
},
tooltip: {
formatter: function () {
return '<b>' + this.x + '</b><br/>' +
this.series.name + ': ' + Highcharts.numberFormat(this.y, 0);
}
},
plotOptions: {
column: {
dataLabels: {
enabled: true
},
enableMouseTracking: true//是否顯示title
}
},
series: [{
name: '總流量',
data: jsonyD1
}, {
name: 'IP流量',
data: jsonyD2
}]
});
//$("tspan:last").hide(); //把廣告刪除掉
} //if
}
});
});
</script>
<div id="containerliuliang">
</div>
</div>
</fieldset>
</form>
</body>
</html>
動態獲取文件一般處理程序:
<%@ WebHandler Language="C#" Class="Count" %>
using System;
using System.Web;
using System.Data;
public class Count : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Write(JsonConvert.GetJSON(CreteDataTable()));
context.Response.End();
//context.Response.ContentType = "text/plain";
//DateTime dateTime = DateTime.Now;
//System.Data.SqlClient.SqlParameter[] parameters = {
// new System.Data.SqlClient.SqlParameter("@datetime",dateTime)
// };
//System.Data.DataTable dt = LQJ.Comment.SqlHelp.RunDataTableProcedure("Proc_LoginRecordCount", parameters);
//context.Response.Write(JsonConvert.GetJSON(dt));
//context.Response.End();
}
public bool IsReusable
{
get
{
return false;
}
}
public DataTable CreteDataTable()
{
DataTable dataTable = new DataTable();
///添加新的數據列
dataTable.Columns.Add("Time", typeof(string));
dataTable.Columns.Add("SumCount", typeof(int));
dataTable.Columns.Add("IpCount", typeof(int));
DataRow row = dataTable.NewRow();
//row["Time"] = "00:00-01:00";
row["Time"] = "00:00-01:00";
row["SumCount"] = "500";
row["IpCount"] = "400";
dataTable.Rows.Add(row);
DataRow row1 = dataTable.NewRow();
//row1["Time"] = "01:00-02:00";
row1["Time"] = "01:00-02:00";
row1["SumCount"] = "600";
row1["IpCount"] = "300";
dataTable.Rows.Add(row1);
DataRow row2 = dataTable.NewRow();
//row2["Time"] = "02:00-03:00";
row2["Time"] = "02:00-03:00";
row2["SumCount"] = "500";
row2["IpCount"] = "400";
dataTable.Rows.Add(row2);
DataRow row3 = dataTable.NewRow();
//row3["Time"] = "03:00-04:00";
row3["Time"] = "03:00-04:00";
row3["SumCount"] = "700";
row3["IpCount"] = "300";
dataTable.Rows.Add(row3);
DataRow row4 = dataTable.NewRow();
//row3["Time"] = "03:00-04:00";
row4["Time"] = "04:00-05:00";
row4["SumCount"] = "300";
row4["IpCount"] = "200";
dataTable.Rows.Add(row4);
DataRow row5 = dataTable.NewRow();
//row5["Time"] = "04:00-05:00";
row5["Time"] = "05:00-06:00";
row5["SumCount"] = "800";
row5["IpCount"] = "600";
dataTable.Rows.Add(row5);
DataRow row6 = dataTable.NewRow();
//row6["Time"] = "05:00-06:00";
row6["Time"] = "06:00-07:00";
row6["SumCount"] = "700";
row6["IpCount"] = "500";
dataTable.Rows.Add(row6);
DataRow row7 = dataTable.NewRow();
//row7["Time"] = "06:00-07:00";
row7["Time"] = "08:00-09:00";
row7["SumCount"] = "550";
row7["IpCount"] = "450";
dataTable.Rows.Add(row7);
DataRow row8 = dataTable.NewRow();
//row8["Time"] = "07:00-08:00";
row8["Time"] = "09:00-10:00";
row8["SumCount"] = "650";
row8["IpCount"] = "420";
dataTable.Rows.Add(row8);
DataRow row9 = dataTable.NewRow();
//row8["Time"] = "07:00-08:00";
row9["Time"] = "10:00-11:00";
row9["SumCount"] = "750";
row9["IpCount"] = "320";
dataTable.Rows.Add(row9);
return dataTable;
}
}
效果圖:

