jqplot总结
JqPlot需要三个参数,1.位置,2.数据,3.配置。
重点是3.配置。
配置大概分为title(标题),axes(xy轴),series(数据的连续图),dataRenderer外部数据加载方式,highlighter鼠标靠近,数据显示方式,cursor鼠标样式变化,以及显示当前数值。
axes轴里面有轴名字label;轴名字的渲染引擎labelRenderer,以及轴名字相关样式(大小fontSize,字体种类fontFamily,颜色等等);轴刻度值tickOptions(字体大小fontSize,旋转角度angle,字体种类fontFamily);轴的渲染引擎renderer;轴刻度值的渲染引擎tickRenderer;离数据连续图的距离pad;自动分配刻度值autoscale;刻度值和标签值的相对位置labelPosition;
series数据连续图有,渲染引擎renderer(线条,柱形,圆饼等等);是否展示数值点(showMarker);
dataRenderer外部数据加载方式。
highlighter鼠标靠近,数据显示方式。
cursor鼠标样式变化,以及显示当前数值。
特别说明legend。
--------------------------------------------------------------------------------
官网API翻译(很未完,因为没时间)
Axis
autoscale:默认是false。当你没设置min或max,也就是XY轴的最小或最大刻度值时,autoscale关闭。numberTicks, tickInterval 和pad这些属性与autoscale相关。padMin和padMax这两个属性与autoscale无关。
autoscale:默认是false。当你没设置min或max,也就是XY轴的最小或最大刻度值时,autoscale关闭。numberTicks, tickInterval 和pad这些属性与autoscale相关。padMin和padMax这两个属性与autoscale无关。
--------------------------------------------------------------------------------
官网的exapmle(很未完,因为没时间)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>line-charts</title>
<link rel="stylesheet" type="text/css" href="jquery.jqplot.css" />
<!--[if lt IE 9]><script type="javascript" type="text/javascript" src="excanvas.js"></script><![endif]-->
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.jqplot.js"></script>
<script type="text/javascript" src="plugins/jqplot.canvasTextRenderer.min.js"></script>
<script type="text/javascript" src="plugins/jqplot.canvasAxisLabelRenderer.min.js"></script>
<script type="text/javascript">
$(function(){
var plot1 = $.jqplot ('chart1', [[3,7,9,1,4,6,8,2,5]]);
var plot2 = $.jqplot ('chart2', [[3,7,9,1,4,6,8,2,5]], {
// Give the plot a title.标题
title: 'Plot With Options',
// You can specify options for all axes on the plot at once with
// the axesDefaults object. Here, we're using a canvas renderer
// to draw the axis label which allows rotated text.
// axesDefaults指定的参数配置,适用于所有轴。这里是指x,y轴的label用canvas画出
axesDefaults: {
labelRenderer: $.jqplot.CanvasAxisLabelRenderer
},
// An axes object holds options for all axes.
// Allowable axes are xaxis, x2axis, yaxis, y2axis, y3axis, ...
// Up to 9 y axes are supported.
axes: {
// options for each axis are specified in seperate option objects.
xaxis: {
label: "X Axis",
// Turn off "padding". This will allow data point to lie on the
// edges of the grid. Default padding is 1.2 and will keep all
// points inside the bounds of the grid.
// pad是指,起始点是不是靠近轴。默认是1.2,这里0表示就在轴上
pad: 0
},
yaxis: {
label: "Y Axis"
}
}
});
// Some simple loops to build up data arrays.
// 这些循环用来构造数据
var cosPoints = [];
for (var i=0; i<2*Math.PI; i+=0.4){
cosPoints.push([i, Math.cos(i)]);
}
var sinPoints = [];
for (var i=0; i<2*Math.PI; i+=0.4){
sinPoints.push([i, 2*Math.sin(i-.8)]);
}
var powPoints1 = [];
for (var i=0; i<2*Math.PI; i+=0.4) {
powPoints1.push([i, 2.5 + Math.pow(i/4, 2)]);
}
var powPoints2 = [];
for (var i=0; i<2*Math.PI; i+=0.4) {
powPoints2.push([i, -2.5 - Math.pow(i/4, 2)]);
}
var plot3 = $.jqplot('chart3', [cosPoints, sinPoints, powPoints1, powPoints2],
{
title:'Line Style Options',
// Series options are specified as an array of objects, one object
// for each series.
// series参数是一个对象数组,一个对象对应一组数据
series:[
{
// Change our line width and use a diamond shaped marker.
lineWidth:2,
markerOptions: { style:'dimaond' }
},
{
// Don't show a line, just show markers.
// Make the markers 7 pixels with an 'x' style
// 去掉两点之间的连线;设置字母x的大小为7px
showLine:false,
markerOptions: { size: 7, style:"x" }
},
{
// Use (open) circlular markers.
markerOptions: { style:"circle" }
},
{
// Use a thicker, 5 pixel line and 10 pixel
// filled square markers.
// 设置线条的粗细,以及标记的样式
lineWidth:5,
markerOptions: { style:"filledSquare", size:10 }
}
]
}
);
});
</script>
</head>
<body>
<div id="chart1"></div>
<div id="chart2"></div>
<div id="chart3"></div>
</body>
</html>
<html>
<head>
<meta charset="utf-8" />
<title>line-charts</title>
<link rel="stylesheet" type="text/css" href="jquery.jqplot.css" />
<!--[if lt IE 9]><script type="javascript" type="text/javascript" src="excanvas.js"></script><![endif]-->
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.jqplot.js"></script>
<script type="text/javascript" src="plugins/jqplot.canvasTextRenderer.min.js"></script>
<script type="text/javascript" src="plugins/jqplot.canvasAxisLabelRenderer.min.js"></script>
<script type="text/javascript">
$(function(){
var plot1 = $.jqplot ('chart1', [[3,7,9,1,4,6,8,2,5]]);
var plot2 = $.jqplot ('chart2', [[3,7,9,1,4,6,8,2,5]], {
// Give the plot a title.标题
title: 'Plot With Options',
// You can specify options for all axes on the plot at once with
// the axesDefaults object. Here, we're using a canvas renderer
// to draw the axis label which allows rotated text.
// axesDefaults指定的参数配置,适用于所有轴。这里是指x,y轴的label用canvas画出
axesDefaults: {
labelRenderer: $.jqplot.CanvasAxisLabelRenderer
},
// An axes object holds options for all axes.
// Allowable axes are xaxis, x2axis, yaxis, y2axis, y3axis, ...
// Up to 9 y axes are supported.
axes: {
// options for each axis are specified in seperate option objects.
xaxis: {
label: "X Axis",
// Turn off "padding". This will allow data point to lie on the
// edges of the grid. Default padding is 1.2 and will keep all
// points inside the bounds of the grid.
// pad是指,起始点是不是靠近轴。默认是1.2,这里0表示就在轴上
pad: 0
},
yaxis: {
label: "Y Axis"
}
}
});
// Some simple loops to build up data arrays.
// 这些循环用来构造数据
var cosPoints = [];
for (var i=0; i<2*Math.PI; i+=0.4){
cosPoints.push([i, Math.cos(i)]);
}
var sinPoints = [];
for (var i=0; i<2*Math.PI; i+=0.4){
sinPoints.push([i, 2*Math.sin(i-.8)]);
}
var powPoints1 = [];
for (var i=0; i<2*Math.PI; i+=0.4) {
powPoints1.push([i, 2.5 + Math.pow(i/4, 2)]);
}
var powPoints2 = [];
for (var i=0; i<2*Math.PI; i+=0.4) {
powPoints2.push([i, -2.5 - Math.pow(i/4, 2)]);
}
var plot3 = $.jqplot('chart3', [cosPoints, sinPoints, powPoints1, powPoints2],
{
title:'Line Style Options',
// Series options are specified as an array of objects, one object
// for each series.
// series参数是一个对象数组,一个对象对应一组数据
series:[
{
// Change our line width and use a diamond shaped marker.
lineWidth:2,
markerOptions: { style:'dimaond' }
},
{
// Don't show a line, just show markers.
// Make the markers 7 pixels with an 'x' style
// 去掉两点之间的连线;设置字母x的大小为7px
showLine:false,
markerOptions: { size: 7, style:"x" }
},
{
// Use (open) circlular markers.
markerOptions: { style:"circle" }
},
{
// Use a thicker, 5 pixel line and 10 pixel
// filled square markers.
// 设置线条的粗细,以及标记的样式
lineWidth:5,
markerOptions: { style:"filledSquare", size:10 }
}
]
}
);
});
</script>
</head>
<body>
<div id="chart1"></div>
<div id="chart2"></div>
<div id="chart3"></div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>axis Label Test</title>
<link rel="stylesheet" type="text/css" href="jquery.jqplot.css" />
<!--[if lt IE 9]><script type="javascript" type="text/javascript" src="excanvas.js"></script><![endif]-->
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.jqplot.js"></script>
<script type="text/javascript" src="plugins/jqplot.canvasTextRenderer.min.js"></script>
<script type="text/javascript" src="plugins/jqplot.canvasAxisLabelRenderer.min.js"></script>
<script type="text/javascript">
$(function(){
// 生成测试数据
var cosPoints = [];
for(var i = 0; i < 2 * Math.PI; i += 0.1) {
cosPoints.push([i, Math.cos(i)]);
}
var plot1 = $.jqplot('chart1', [cosPoints], {
series: [{
// 去掉点的标记
showMarker: false
}],
axes: {
xaxis: {
// 轴的名字
label: 'Angle (radians)'
},
yaxis: {
label: 'Cosine'
}
}
});
var plot2 = $.jqplot('chart2', [cosPoints], {
series: [{
showMarker: false
}],
axes: {
xaxis: {
label: 'Angle (radians)',
// 轴的名字渲染引擎
labelRenderer: $.jqplot.CanvasAxisLabelRenderer
},
yaxis: {
label: 'Cosine',
// 加入labelRenderer参数后,y轴label开始翻转90°
labelRenderer: $.jqplot.CanvasAxisLabelRenderer
}
}
});
var plot3 = $.jqplot('chart3', [cosPoints], {
series: [{
showMarker: false
}],
axes: {
xaxis: {
label: 'Angle (radians)',
labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
// 设置轴的名字的,字体和大小
labelOptions: {
fontFamily: 'Georgia, Serif',
fontSize: '12pt'
}
},
yaxis: {
label: 'Cosine',
labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
labelOptions: {
fontFamily: 'Georgia, Serif',
fontSize: '12pt'
}
}
}
});
});
</script>
</head>
<body>
<div id="chart1"></div>
<div id="chart2"></div>
<div id="chart3"></div>
</body>
</html>
<html>
<head>
<meta charset="utf-8" />
<title>axis Label Test</title>
<link rel="stylesheet" type="text/css" href="jquery.jqplot.css" />
<!--[if lt IE 9]><script type="javascript" type="text/javascript" src="excanvas.js"></script><![endif]-->
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.jqplot.js"></script>
<script type="text/javascript" src="plugins/jqplot.canvasTextRenderer.min.js"></script>
<script type="text/javascript" src="plugins/jqplot.canvasAxisLabelRenderer.min.js"></script>
<script type="text/javascript">
$(function(){
// 生成测试数据
var cosPoints = [];
for(var i = 0; i < 2 * Math.PI; i += 0.1) {
cosPoints.push([i, Math.cos(i)]);
}
var plot1 = $.jqplot('chart1', [cosPoints], {
series: [{
// 去掉点的标记
showMarker: false
}],
axes: {
xaxis: {
// 轴的名字
label: 'Angle (radians)'
},
yaxis: {
label: 'Cosine'
}
}
});
var plot2 = $.jqplot('chart2', [cosPoints], {
series: [{
showMarker: false
}],
axes: {
xaxis: {
label: 'Angle (radians)',
// 轴的名字渲染引擎
labelRenderer: $.jqplot.CanvasAxisLabelRenderer
},
yaxis: {
label: 'Cosine',
// 加入labelRenderer参数后,y轴label开始翻转90°
labelRenderer: $.jqplot.CanvasAxisLabelRenderer
}
}
});
var plot3 = $.jqplot('chart3', [cosPoints], {
series: [{
showMarker: false
}],
axes: {
xaxis: {
label: 'Angle (radians)',
labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
// 设置轴的名字的,字体和大小
labelOptions: {
fontFamily: 'Georgia, Serif',
fontSize: '12pt'
}
},
yaxis: {
label: 'Cosine',
labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
labelOptions: {
fontFamily: 'Georgia, Serif',
fontSize: '12pt'
}
}
}
});
});
</script>
</head>
<body>
<div id="chart1"></div>
<div id="chart2"></div>
<div id="chart3"></div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>rotated-tick-labels</title>
<link rel="stylesheet" type="text/css" href="jquery.jqplot.css" />
<!--[if lt IE 9]><script type="javascript" type="text/javascript" src="excanvas.js"></script><![endif]-->
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.jqplot.js"></script>
<script type="text/javascript" src="plugins/jqplot.dateAxisRenderer.min.js"></script>
<script type="text/javascript" src="plugins/jqplot.canvasTextRenderer.min.js"></script>
<script type="text/javascript" src="plugins/jqplot.canvasAxisTickRenderer.min.js"></script>
<script type="text/javascript" src="plugins/jqplot.categoryAxisRenderer.min.js"></script>
<script type="text/javascript" src="plugins/jqplot.barRenderer.min.js"></script>
<script type="text/javascript">
$(function(){
var line1 = [
['Cup Holder Pinion Bob', 7],
['Generic Fog Lamp', 9],
['HDTV Receiver', 15],
['8 Track Control Module', 12],
[' Sludge Pump Fourier Modulator', 3],
['Transcender/Spice Rack', 6],
['Hair Spray Danger Indicator', 18]
];
var plot1 = $.jqplot('chart1', [line1], {
title: 'Concern vs. Occurrance',
series: [{
// 数据的连续图的渲染引擎,用柱形图表示数据
renderer: $.jqplot.BarRenderer
}],
axesDefaults: {
tickRenderer: $.jqplot.CanvasAxisTickRenderer,
// 轴的标签
tickOptions: {
angle: -30,
fontSize: '10pt'
}
},
axes: {
xaxis: {
// x轴用数据里面的数组第一个元素
renderer: $.jqplot.CategoryAxisRenderer
}
}
});
var plot1b = $.jqplot('chart1b', [line1], {
title: 'Concern vs. Occurrance',
series: [{
renderer: $.jqplot.BarRenderer
}],
axesDefaults: {
// 轴的刻度值,渲染引擎
tickRenderer: $.jqplot.CanvasAxisTickRenderer,
// 轴的刻度值,字体大小,字体类型,字体角度
tickOptions: {
fontFamily: 'Georgia',
fontSize: '10pt',
angle: -30
}
},
axes: {
xaxis: {
// 轴的渲染引擎
renderer: $.jqplot.CategoryAxisRenderer
}
}
});
// var line2 = [
// ['Nickle', 28],
// ['Aluminum', 13],
// ['Xenon', 54],
// ['Silver', 47],
// ['Sulfer', 16],
// ['Silicon', 14],
// ['Vanadium', 23]
// ];
var line2 = [
['Cup Holder Pinion Bob', 7],
['Generic Fog Lamp', 9],
['HDTV Receiver', 15],
['8 Track Control Module', 12],
[' Sludge Pump Fourier Modulator', 3],
['Transcender/Spice Rack', 6],
['Hair Spray Danger Indicator', 18]
];
var plot2 = $.jqplot('chart2', [line1, line2], {
series: [{
renderer: $.jqplot.BarRenderer
},
// 在series里第二个对象表示,第二个数据连续的图的配置。在这里是它的纵坐标叫y2axis,横坐标叫x2axis
{
xaxis: 'x2axis',
yaxis: 'y2axis'
}],
axesDefaults: {
tickRenderer: $.jqplot.CanvasAxisTickRenderer,
tickOptions: {
// angle: 30
}
},
axes: {
xaxis: {
renderer: $.jqplot.CategoryAxisRenderer
},
x2axis: {
renderer: $.jqplot.CategoryAxisRenderer
},
yaxis: {
// 自动刻度值
autoscale: true
},
y2axis: {
autoscale: true
}
}
});
var plot3 = $.jqplot('chart3', [line1], {
title: 'Concern vs. Occurrance',
series: [{
renderer: $.jqplot.BarRenderer
}],
axesDefaults: {
tickRenderer: $.jqplot.CanvasAxisTickRenderer,
tickOptions: {
angle: -30
}
},
axes: {
xaxis: {
renderer: $.jqplot.CategoryAxisRenderer,
tickOptions: {
labelPosition: 'middle'
}
},
yaxis: {
autoscale: true,
tickRenderer: $.jqplot.CanvasAxisTickRenderer,
tickOptions: {
labelPosition: 'start'
}
}
}
});
});
</script>
</head>
<body>
<div id="chart1"></div>
<div id="chart1b"></div><hr />
<div id="chart2"></div><hr />
<div id="chart3"></div>
</body>
</html>
<html>
<head>
<meta charset="utf-8" />
<title>rotated-tick-labels</title>
<link rel="stylesheet" type="text/css" href="jquery.jqplot.css" />
<!--[if lt IE 9]><script type="javascript" type="text/javascript" src="excanvas.js"></script><![endif]-->
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.jqplot.js"></script>
<script type="text/javascript" src="plugins/jqplot.dateAxisRenderer.min.js"></script>
<script type="text/javascript" src="plugins/jqplot.canvasTextRenderer.min.js"></script>
<script type="text/javascript" src="plugins/jqplot.canvasAxisTickRenderer.min.js"></script>
<script type="text/javascript" src="plugins/jqplot.categoryAxisRenderer.min.js"></script>
<script type="text/javascript" src="plugins/jqplot.barRenderer.min.js"></script>
<script type="text/javascript">
$(function(){
var line1 = [
['Cup Holder Pinion Bob', 7],
['Generic Fog Lamp', 9],
['HDTV Receiver', 15],
['8 Track Control Module', 12],
[' Sludge Pump Fourier Modulator', 3],
['Transcender/Spice Rack', 6],
['Hair Spray Danger Indicator', 18]
];
var plot1 = $.jqplot('chart1', [line1], {
title: 'Concern vs. Occurrance',
series: [{
// 数据的连续图的渲染引擎,用柱形图表示数据
renderer: $.jqplot.BarRenderer
}],
axesDefaults: {
tickRenderer: $.jqplot.CanvasAxisTickRenderer,
// 轴的标签
tickOptions: {
angle: -30,
fontSize: '10pt'
}
},
axes: {
xaxis: {
// x轴用数据里面的数组第一个元素
renderer: $.jqplot.CategoryAxisRenderer
}
}
});
var plot1b = $.jqplot('chart1b', [line1], {
title: 'Concern vs. Occurrance',
series: [{
renderer: $.jqplot.BarRenderer
}],
axesDefaults: {
// 轴的刻度值,渲染引擎
tickRenderer: $.jqplot.CanvasAxisTickRenderer,
// 轴的刻度值,字体大小,字体类型,字体角度
tickOptions: {
fontFamily: 'Georgia',
fontSize: '10pt',
angle: -30
}
},
axes: {
xaxis: {
// 轴的渲染引擎
renderer: $.jqplot.CategoryAxisRenderer
}
}
});
// var line2 = [
// ['Nickle', 28],
// ['Aluminum', 13],
// ['Xenon', 54],
// ['Silver', 47],
// ['Sulfer', 16],
// ['Silicon', 14],
// ['Vanadium', 23]
// ];
var line2 = [
['Cup Holder Pinion Bob', 7],
['Generic Fog Lamp', 9],
['HDTV Receiver', 15],
['8 Track Control Module', 12],
[' Sludge Pump Fourier Modulator', 3],
['Transcender/Spice Rack', 6],
['Hair Spray Danger Indicator', 18]
];
var plot2 = $.jqplot('chart2', [line1, line2], {
series: [{
renderer: $.jqplot.BarRenderer
},
// 在series里第二个对象表示,第二个数据连续的图的配置。在这里是它的纵坐标叫y2axis,横坐标叫x2axis
{
xaxis: 'x2axis',
yaxis: 'y2axis'
}],
axesDefaults: {
tickRenderer: $.jqplot.CanvasAxisTickRenderer,
tickOptions: {
// angle: 30
}
},
axes: {
xaxis: {
renderer: $.jqplot.CategoryAxisRenderer
},
x2axis: {
renderer: $.jqplot.CategoryAxisRenderer
},
yaxis: {
// 自动刻度值
autoscale: true
},
y2axis: {
autoscale: true
}
}
});
var plot3 = $.jqplot('chart3', [line1], {
title: 'Concern vs. Occurrance',
series: [{
renderer: $.jqplot.BarRenderer
}],
axesDefaults: {
tickRenderer: $.jqplot.CanvasAxisTickRenderer,
tickOptions: {
angle: -30
}
},
axes: {
xaxis: {
renderer: $.jqplot.CategoryAxisRenderer,
tickOptions: {
labelPosition: 'middle'
}
},
yaxis: {
autoscale: true,
tickRenderer: $.jqplot.CanvasAxisTickRenderer,
tickOptions: {
labelPosition: 'start'
}
}
}
});
});
</script>
</head>
<body>
<div id="chart1"></div>
<div id="chart1b"></div><hr />
<div id="chart2"></div><hr />
<div id="chart3"></div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>rotated-tick-labels</title>
<link rel="stylesheet" type="text/css" href="jquery.jqplot.css" />
<!--[if lt IE 9]><script type="javascript" type="text/javascript" src="excanvas.js"></script><![endif]-->
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.jqplot.js"></script>
<script type="text/javascript" src="plugins/jqplot.json2.min.js"></script>
<script type="text/javascript">
$(function() {
// Our data renderer function, returns an array of the form:
// [[[x1, sin(x1)], [x2, sin(x2)], ...]]
// 构造测试数据
var sineRenderer = function() {
var data = [[]];
for (var i=0; i<13; i+=0.5) {
data[0].push([i, Math.sin(i)]);
}
return data;
};
console.log(sineRenderer());
// we have an empty data array here, but use the "dataRenderer"
// option to tell the plot to get data from our renderer.
// 这里我们第二个参数是空数组,但在第三个参数对象里面用了dataRenderer
var plot1 = $.jqplot('chart1',[],{
title: 'Sine Data Renderer',
dataRenderer: sineRenderer
});
// Our ajax data renderer which here retrieves a text file.
// it could contact any source and pull data, however.
// The options argument isn't used in this renderer.
var ajaxDataRenderer = function(url, plot, options) {
var ret = null;
$.ajax({
// have to use synchronous here, else the function
// will return before the data is fetched
async: false,
url: url,
dataType: "json",
success: function(data) {
ret = data;
},
error:function(){
ret = [1,2,3,4,5,6,7];
}
});
return ret;
};
// The url for our json data
var jsonurl = "jsondata.txt";
debugger;
// passing in the url string as the jqPlot data argument is a handy
// shortcut for our renderer. You could also have used the
// "dataRendererOptions" option to pass in the url.
var plot2 = $.jqplot('chart2', jsonurl, {
title: "AJAX JSON Data Renderer",
dataRenderer: ajaxDataRenderer,
dataRendererOptions: {
unusedOptionalUrl: jsonurl
}
});
});
</script>
</head>
<body>
<div id="chart1"></div>
<div id="chart2"></div>
</body>
</html>
<html>
<head>
<meta charset="utf-8" />
<title>rotated-tick-labels</title>
<link rel="stylesheet" type="text/css" href="jquery.jqplot.css" />
<!--[if lt IE 9]><script type="javascript" type="text/javascript" src="excanvas.js"></script><![endif]-->
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.jqplot.js"></script>
<script type="text/javascript" src="plugins/jqplot.json2.min.js"></script>
<script type="text/javascript">
$(function() {
// Our data renderer function, returns an array of the form:
// [[[x1, sin(x1)], [x2, sin(x2)], ...]]
// 构造测试数据
var sineRenderer = function() {
var data = [[]];
for (var i=0; i<13; i+=0.5) {
data[0].push([i, Math.sin(i)]);
}
return data;
};
console.log(sineRenderer());
// we have an empty data array here, but use the "dataRenderer"
// option to tell the plot to get data from our renderer.
// 这里我们第二个参数是空数组,但在第三个参数对象里面用了dataRenderer
var plot1 = $.jqplot('chart1',[],{
title: 'Sine Data Renderer',
dataRenderer: sineRenderer
});
// Our ajax data renderer which here retrieves a text file.
// it could contact any source and pull data, however.
// The options argument isn't used in this renderer.
var ajaxDataRenderer = function(url, plot, options) {
var ret = null;
$.ajax({
// have to use synchronous here, else the function
// will return before the data is fetched
async: false,
url: url,
dataType: "json",
success: function(data) {
ret = data;
},
error:function(){
ret = [1,2,3,4,5,6,7];
}
});
return ret;
};
// The url for our json data
var jsonurl = "jsondata.txt";
debugger;
// passing in the url string as the jqPlot data argument is a handy
// shortcut for our renderer. You could also have used the
// "dataRendererOptions" option to pass in the url.
var plot2 = $.jqplot('chart2', jsonurl, {
title: "AJAX JSON Data Renderer",
dataRenderer: ajaxDataRenderer,
dataRendererOptions: {
unusedOptionalUrl: jsonurl
}
});
});
</script>
</head>
<body>
<div id="chart1"></div>
<div id="chart2"></div>
</body>
</html>
--------------------------------------------------------------------------------
http://www.jqplot.com/
http://www.cnblogs.com/mofish/archive/2011/08/15/2139728.html
合乎自然而生生不息。。。