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无关。

 

--------------------------------------------------------------------------------

官网的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 >

 

 

 

<! 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 >
<! 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 >
<! 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 >
 

 

--------------------------------------------------------------------------------

网上找的相关资料链接:

 

 

http://www.jqplot.com/
http://www.cnblogs.com/mofish/archive/2011/08/15/2139728.html
 

 

 

你可能感兴趣的:(jqplot)