自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

手把手教你jQuery jqPlot畫圖插件

開發(fā) 前端
jqPlot是一款基于jquery類庫的圖標繪制插件。通過jqPlot可以再網(wǎng)頁中繪制線狀、柱狀、餅狀等多種樣式圖表。而且,jqPlot具有插件可擴展性(Pluggability),你可以編寫自己的圖表樣式。

這篇文章我們來學一個具有易用性+兼容性+可擴展性的JavaScript圖表插件。

jqPlot是一款基于jquery類庫的圖標繪制插件。通過jqPlot可以再網(wǎng)頁中繪制線狀、柱狀、餅狀等多種樣式圖表。而且,jqPlot具有插件可擴展性(Pluggability),你可以編寫自己的圖表樣式。

功能概述:

◆ 有多種圖表樣式可供選擇

◆ 可以自定義日期軸線

◆ 可設(shè)置旋轉(zhuǎn)軸文字

◆ 自動計算趨勢線

◆ 工具條提示和高亮數(shù)據(jù)點

◆ 默認最優(yōu)設(shè)置,非常易于使用

以上功能在jqPlot主頁中的示例頁面有很多直觀的展示。這里是它詳細使用文檔。

缺點:柱狀圖無法顯示具體數(shù)據(jù)值。餅狀圖無法顯示具體百分比。

下邊是搜集的詳細參數(shù)配置:

  1. options =      
  2. {     
  3.     seriesColors: [ "#4bb2c5""#c5b47f""#EAA228""#579575""#839557""#958c12",      
  4.         "#953579""#4b5de4""#d8b83f""#ff5800""#0085cc"], // 默認顯示的分類顏色,     
  5.         //如果分類的數(shù)量超過這里的顏色數(shù)量,則從該隊列中第一個位置開始重新取值賦給相應(yīng)的分類     
  6.     stackSeries: false// 如果置為true并且有多個分類(如果是折線圖,就必須多于一條折線),     
  7.                         // 那么每個分類(折線)在縱軸上的值為其前所有分類縱軸值總和與其縱     
  8.                         //軸值相加值(eg,當前分類縱軸值為Y3     
  9.                         //,其前有Y2,Y1,那么他顯示在Y軸上值為Y2+Y3+Y1,目前該屬性支持線圖和柱狀圖     
  10.     title: '',      //設(shè)置當前圖的標題     
  11.     title: {     
  12.         text: '',   // 設(shè)置當前圖的標題     
  13.         show: true,//設(shè)置當前標題是否顯示     
  14.     },     
  15.     axisDefaults: {     
  16.         show: false,    // wether or not to renderer the axis. Determined automatically.     
  17.         min: null,      // 橫(縱)坐標顯示的最小值     
  18.         max: null,      // 橫(縱)坐標顯示的最大值     
  19.         pad: 1.2,       // 一個相乘因子,     
  20.                 //(數(shù)據(jù)在橫(縱)軸上最大值-數(shù)據(jù)在橫(縱)軸上最小值)*pad值=該軸顯示的橫(縱)坐標區(qū)間長度     
  21.                 // 該軸顯示的橫(縱)坐標區(qū)間長度=橫(縱)坐標顯示的最大值-橫(縱)坐標顯示的最小值     
  22.                 //如果設(shè)置了max和min的值的話,那么會優(yōu)先考慮min和max設(shè)置的值     
  23.         ticks: [],      //設(shè)置橫(縱)坐標的刻度上的值,可為該ticks數(shù)組中的值,     
  24.                       // a 1D [val1, val2, ...], or 2D [[val, label], [val, label], ...]                              
  25.         numberTicks: undefined, //一個相除因子,用于設(shè)置橫(縱)坐標刻度間隔     
  26.                                  //橫(縱)坐標刻度間隔值=橫(縱)坐標區(qū)間長度/(numberTicks-1)     
  27.         tickInterval:'',         //橫(縱)坐標刻度間隔值,可為日期字符串     
  28.         renderer: $.jqplot.LinearAxisRenderer, 
  29. // 設(shè)置橫(縱)軸上數(shù)據(jù)加載的渲染器,有dateAxisRenderer(參見本文最后相關(guān)介紹) 。     
  30.         rendererOptions: {},    // 設(shè)置renderer的Option配置對象,線狀圖不需要設(shè)置     
  31.                     //不同圖表的Option配置對象請參見下面《jqPlot各個不同插件的Option對象設(shè)置》     
  32.                              //中各個圖表的配置Option對象     
  33.         tickOptions: {     
  34.             mark: 'outside',    // 設(shè)置橫(縱)坐標刻度在坐標軸上顯示方式,分為坐標軸內(nèi),外,穿過坐標軸顯示     
  35.                                 // 值也分為:'outside', 'inside' 和 'cross',     
  36.             showMark: true,     //設(shè)置是否顯示刻度     
  37.             showGridLine: true// 是否在圖表區(qū)域顯示刻度值方向的網(wǎng)格線     
  38.             markSize: 4,        // 每個刻度線頂點距刻度線在坐標軸上點距離(像素為單位)     
  39.                                 //如果mark值為 'cross', 那么每個刻度線都有上頂點和下頂點,刻度線與坐標軸     
  40.                                 //在刻度線中間交叉,那么這時這個距離×2,     
  41.             show: true,         // 是否顯示刻度線,與刻度線同方向的網(wǎng)格線,以及坐標軸上的刻度值     
  42.             showLabel: true,    // 是否顯示刻度線以及坐標軸上的刻度值     
  43.             formatString: '',   // 梃置坐標軸上刻度值顯示格式,eg:'%b %#d, %Y'表示格式"月 日,年","AUG 30,2008"     
  44.             fontSize:'10px',    //刻度值的字體大小     
  45.            fontFamily:'Tahoma'//刻度值上字體     
  46.            angle:40,           //刻度值與坐標軸夾角,角度為坐標軸正向順時針方向     
  47.            fontWeight:'normal'//字體的粗細     
  48.            fontStretch:1//刻度值在所在方向(坐標軸外)上的伸展(拉伸)度     
  49.         }     
  50.         showTicks: true,        /// 是否顯示刻度線以及坐標軸上的刻度值     
  51.         showTickMarks: true,    //設(shè)置是否顯示刻度     
  52.         useSeriesColor: true     //如果有多個縱(橫)坐標軸,通過該屬性設(shè)置這些坐標軸是否以不同顏色顯示     
  53.     },     
  54.          
  55.     axes: {     
  56.         xaxis: {     
  57.             // 設(shè)置同 axisDefaults     
  58.         },     
  59.         yaxis: {     
  60.             // 設(shè)置同 axisDefaults     
  61.         },     
  62.         x2axis: {     
  63.            // 設(shè)置同 axisDefaults     
  64.         },     
  65.         y2axis: {     
  66.             // 設(shè)置同 axisDefaults     
  67.         }     
  68.     },     
  69.          
  70.     seriesDefaults: {//如果有多個分類,這可通過該配置屬性設(shè)置各個分類的共性屬性     
  71.         show: true,     // 設(shè)置是否渲染整個圖表區(qū)域(即顯示圖表中內(nèi)容)     
  72.         xaxis: 'xaxis'// either 'xaxis' or 'x2axis'.     
  73.         yaxis: 'yaxis'// either 'yaxis' or 'y2axis'.     
  74.         label: '',      // 用于顯示在分類名稱框中的分類名稱     
  75.         color: '',      // 分類在圖標中表示(折現(xiàn),柱狀圖等)的顏色     
  76.         lineWidth: 2.5, // 分類圖(特別是折線圖)哪寬度     
  77.         shadow: true,   // 各圖在圖表中是否顯示陰影區(qū)域     
  78.         shadowAngle: 45,    // 參考grid中相同參數(shù)     
  79.         shadowOffset: 1.25, // 參考grid中相同參數(shù)     
  80.         shadowDepth: 3,     // 參考grid中相同參數(shù)     
  81.         shadowAlpha: 0.1,   // 參考grid中相同參數(shù)     
  82.         showLine: true,     //是否顯示圖表中的折線(折線圖中的折線)     
  83.         showMarker: true,   // 是否強調(diào)顯示圖中的數(shù)據(jù)節(jié)點     
  84.         fill: false,        // 是否填充圖表中折線下面的區(qū)域(填充顏色同折線顏色)以及l(fā)egend     
  85.                             //設(shè)置的分類名稱框中分類的顏色,此處注意的是如果fill為true,     
  86.                            //那么showLine必須為true,否則不會顯示效果     
  87.         fillAndStroke: false,       //在fill為true的狀態(tài)下,在填充區(qū)域最上面顯示一條線(如果是折線圖則顯示該折線)     
  88.         fillColor: undefined,       // 設(shè)置填充區(qū)域的顏色     
  89.         fillAlpha: undefined,       // 梃置填充區(qū)域的透明度     
  90.         renderer: $.jqplot.PieRenderer, // 利用渲染器(這里是利用餅圖PieRenderer)渲染現(xiàn)有圖表     
  91.                                        //,從而轉(zhuǎn)換成所需圖表     
  92.         rendererOptions: {}, // 傳給上個屬性所設(shè)置渲染器的option對象,線狀圖的渲染器沒有option對象,     
  93.                              //不同圖表的Option配置對象請參見下面《jqPlot各個不同插件的Option對象設(shè)置》     
  94.                              //中各個圖表的配置Option對象     
  95.         markerRenderer: $.jqplot.MarkerRenderer,    // renderer to use to draw the data      
  96.                                                     // point markers.     
  97.         markerOptions: {      
  98.             show: true,             // 是否在圖中顯示數(shù)據(jù)點     
  99.             style: 'filledCircle'// 各個數(shù)據(jù)點在圖中顯示的方式,默認是"filledCircle"(實心圓點),     
  100.                                     //其他幾種方式circle,diamond, square, filledCircle,     
  101.                                     // filledDiamond or filledSquare.     
  102.             lineWidth: 2,       // 數(shù)據(jù)點各個的邊的寬度(如果設(shè)置過大,各個邊會重復(fù),會顯示的類似于實心點)     
  103.             size: 9,            // 數(shù)據(jù)點的大小     
  104.             color: '#666666'    // 數(shù)據(jù)點的顏色     
  105.             shadow: true,       // 是否為數(shù)據(jù)點顯示陰影區(qū)(增加立體效果)     
  106.             shadowAngle: 45,    // 陰影區(qū)角度,x軸順時針方向     
  107.             shadowOffset: 1,    // 參考grid中相同參數(shù)     
  108.             shadowDepth: 3,     //參考grid中相同參數(shù)     
  109.             shadowAlpha: 0.07   // 參考grid中相同參數(shù)     
  110.         }     
  111.         isDragable: true,//是否允許拖動(如果dragable包已引入),默認可拖動     
  112.     },     
  113.     series:[//如果有多個分類需要顯示,這在此處設(shè)置各個分類的相關(guān)配置屬性     
  114.        //eg.設(shè)置各個分類在分類名稱框中的分類名稱     
  115.        //[label: 'Traps Division'},{label: 'Decoy Division'},{label: 'Harmony Division'}]     
  116.         //配置參數(shù)設(shè)置同seriesDefaults     
  117.     ],     
  118.          
  119.     legend: {     
  120.         show: false,//設(shè)置是否出現(xiàn)分類名稱框(即所有分類的名稱出現(xiàn)在圖的某個位置)     
  121.         location: 'ne',     // 分類名稱框出現(xiàn)位置, nw, n, ne, e, se, s, sw, w.     
  122.         xoffset: 12,        // 分類名稱框距圖表區(qū)域上邊框的距離(單位px)     
  123.         yoffset: 12,        // 分類名稱框距圖表區(qū)域左邊框的距離(單位px)     
  124.         background:''        //分類名稱框距圖表區(qū)域背景色     
  125.         textColor:''          //分類名稱框距圖表區(qū)域內(nèi)字體顏色     
  126.         ..其他關(guān)于樣式設(shè)計參考官方文檔     
  127.     },     
  128.          
  129.     grid: {     
  130.         drawGridLines: true,        // wether to draw lines across the grid or not.     
  131.         gridLineColor: '#cccccc'    // 設(shè)置整個圖標區(qū)域網(wǎng)格背景線的顏色     
  132.         background: '#fffdf6',      // 設(shè)置整個圖表區(qū)域的背景色     
  133.         borderColor: '#999999',     // 設(shè)置圖表的(最外側(cè))邊框的顏色     
  134.         borderWidth: 2.0,           //設(shè)置圖表的(最外側(cè))邊框?qū)挾?nbsp;    
  135.         shadow: true,               // 為整個圖標(最外側(cè))邊框設(shè)置陰影,以突出其立體效果     
  136.         shadowAngle: 45,            // 設(shè)置陰影區(qū)域的角度,從x軸順時針方向旋轉(zhuǎn)     
  137.         shadowOffset: 1.5,          // 設(shè)置陰影區(qū)域偏移出圖片邊框的距離     
  138.         shadowWidth: 3,             // 設(shè)置陰影區(qū)域的寬度     
  139.         shadowDepth: 3,             // 設(shè)置影音區(qū)域重疊陰影的數(shù)量     
  140.         shadowAlpha: 0.07           // 設(shè)置陰影區(qū)域的透明度     
  141.         renderer: $.jqplot.CanvasGridRenderer, // renderer to use to draw the grid.     
  142.         rendererOptions: {}         // options to pass to the renderer. Note, the default     
  143.                                     // CanvasGridRenderer takes no additional options.     
  144.     },                                   
  145.          
  146.     /************************jqPlot各個不同插件的Option對象設(shè)置******************************/   
  147.          
  148.     // BarRenderer(設(shè)置柱狀圖的Option對象)     
  149.     //該Option對象適用與柱狀圖的series和seriesDefault屬性的相關(guān)配置對象設(shè)置     
  150.     seriesDefaults: {     
  151.         rendererOptions: {     
  152.             barPadding: 8,      //設(shè)置同一分類兩個柱狀條之間的距離(px)     
  153.             barMargin: 10,      //設(shè)置不同分類的兩個柱狀條之間的距離(px)(同一個橫坐標表點上)     
  154.             barDirection: 'vertical'//設(shè)置柱狀圖顯示的方向:垂直顯示和水平顯示     
  155.                                  //,默認垂直顯示 vertical or horizontal.     
  156.             barWidth: null,     // 設(shè)置柱狀圖中每個柱狀條的寬度     
  157.             shadowOffset: 2,    // 同grid相同屬性設(shè)置     
  158.             shadowDepth: 5,     // 同grid相同屬性設(shè)置     
  159.             shadowAlpha: 0.8,   // 同grid相同屬性設(shè)置     
  160.         }     
  161.     },     
  162.          
  163.     // Cursor(光標)     
  164.     // 鼠標移動到圖中時,鼠標在圖中顯示形式,常與和高亮功能同時使用     
  165.     //此外,通過設(shè)置該屬性的zoom相關(guān)屬性來對圖中某個區(qū)域鉆?。ň瓦x定區(qū)域放大)     
  166.     //該配置對象直接在option下配置     
  167.          
  168.     cursor: {     
  169.         style: 'crosshair',     //當鼠標移動到圖片上時,鼠標的顯示樣式,該屬性值為css類     
  170.         show: true,              //是否顯示光標     
  171.         showTooltip: true,      // 是否顯示提示信息欄     
  172.         followMouse: false,     //光標的提示信息欄是否隨光標(鼠標)一起移動     
  173.         tooltipLocation: 'se'// 光標提示信息欄的位置設(shè)置。如果followMouse=true,那么該位置為     
  174.                                 //提示信息欄相對于光標的位置。否則,為光標提示信息欄在圖標中的位置     
  175.                                 // 該屬性可選值: n, ne, e, se, etc.     
  176.         tooltipOffset: 6,     //提示信息欄距鼠標(followMouse=true)或坐標軸(followMouse=false)的位置     
  177.         showTooltipGridPosition: false,//是否在信息提示欄中顯示光標位置(取其據(jù)圖標左和上邊緣線像素距離)        
  178.         showTooltipUnitPosition: true,// 是否顯示提示光標所在位置(取其在橫縱軸上數(shù)據(jù)值)的信息欄     
  179.                     //注:注意此處與showTooltipGridPosition值區(qū)別,前者顯示坐標值,該處顯示的是數(shù)據(jù)值     
  180.         tooltipFormatString: '%.4P',    // 同Highlighter的tooltipFormatString     
  181.         useAxesFormatters: true,        // 同Highlighter的tooltipFormatString     
  182.         tooltipAxesGroups: [], // show only specified axes groups in tooltip. Would specify like:     
  183.                                 // [['xaxis', 'yaxis'], ['xaxis', 'y2axis']]. By default, all axes     
  184.                                 // combinations with for the series in the plot are shown.     
  185.              
  186.     },     
  187.          
  188.     // Dragable(拖動)     
  189.     //該配置對象通過seriesDefaults和series配置對象進行配置     
  190.     seriesDefaults: {     
  191.      dragable: {     
  192.          color: undefined,       // 當拖動數(shù)據(jù)點是,拖動線與拖動數(shù)據(jù)點顏色     
  193.          constrainTo: 'none',    //設(shè)置拖動的的范圍: 'x'(只能在橫向上拖動),     
  194.                                // 'y'(只能在縱向上拖動), or 'none'(無限制).     
  195.      },     
  196.     },     
  197.     // Highlighter(高亮)     
  198.     //設(shè)置高亮動作option屬性對象     
  199.      //鼠標移動到某個數(shù)據(jù)點上時,該數(shù)據(jù)點增大并顯示提示信息框     
  200.     //該配置對象直接在option下配置         
  201.     highlighter: {     
  202.         lineWidthAdjust: 2.5,   //當鼠標移動到放大的數(shù)據(jù)點上時,設(shè)置增大的數(shù)據(jù)點的寬度                                      
  203.                                 // 目前僅適用于非實心數(shù)據(jù)點           
  204.         sizeAdjust: 5,          // 當鼠標移動到數(shù)據(jù)點上時,數(shù)據(jù)點擴大的增量增量     
  205.         showTooltip: true,      // 是否顯示提示信息欄     
  206.         tooltipLocation: 'nw'// 提示信息顯示位置(英文方向的首寫字母): n, ne, e, se, s, sw, w, nw.     
  207.         fadeTooltip: true,      // 設(shè)置提示信息欄出現(xiàn)和消失的方式(是否淡入淡出)     
  208.         tooltipFadeSpeed: "fast"//設(shè)置提示信息欄淡入淡出的速度: slow, def, fast, 或者是一個毫秒數(shù)的值.     
  209.         tooltipOffset: 2,       // 提示信息欄據(jù)被高亮顯示的數(shù)據(jù)點的偏移位置,以像素計。     
  210.         tooltipAxes: 'both',    // 提示信息框顯示數(shù)據(jù)點那個坐標軸上的值,目前有橫/縱/橫縱三種方式。     
  211.                     //值分別為 x, y or xy.     
  212.         tooltipSeparator: ', ' // 提示信息欄不同值之間的間隔符號     
  213.         useAxesFormatters: true // 提示信息框中數(shù)據(jù)顯示的格式是否和該數(shù)據(jù)在坐標軸上顯示格式一致     
  214.         tooltipFormatString: '%.5P' // 用于設(shè)置提示信息框中數(shù)據(jù)顯示的格式,前提條件是useAxesFormatters     
  215.                                     // 為false. 此時信息提示框中數(shù)據(jù)格式不再與坐標軸一致,而是以此為準     
  216.                                     //同時,該屬性還支持html格式字符串   
  217.          //eg:'<b><i><span style="color:red;" mce_style="color:red;">hello</span></i></b> %.2f'     
  218.     },     
  219.          
  220.     // LogAxisRenderer(指數(shù)渲染器)     
  221.     // 該渲染器只有兩個屬性, 指數(shù)渲染器通過axesDefaults和axes配置對象進行配置     
  222.          
  223.     axesDefaults: {     
  224.         base: 10,                   // 指數(shù)的底數(shù)     
  225.         tickDistribution: 'even',   // 坐標軸顯示方式:'even' or 'power'. 'even' 產(chǎn)生的是均勻分布于坐標     
  226.                                   //軸上的坐標刻度值 。而'power' 則是根據(jù)不斷增大的增數(shù)來確定坐標軸上的刻度     
  227.     },     
  228.          
  229.     // PieRenderer(設(shè)置餅狀圖的OPtion對象)     
  230.     // 餅狀圖通過seriesDefaults和series配置對象進行配置     
  231.          
  232.     seriesDefaults: {     
  233.         rendererOptions: {     
  234.              diameter: undefined, // 設(shè)置餅的直徑     
  235.             padding: 20,        // 餅距離其分類名稱框或者圖表邊框的距離,變相該表餅的直徑     
  236.             sliceMargin: 20,     // 餅的每個部分之間的距離     
  237.             fill:true,         // 設(shè)置餅的每部分被填充的狀態(tài)     
  238.             shadow:true,       //為餅的每個部分的邊框設(shè)置陰影,以突出其立體效果     
  239.             shadowOffset: 2,    //設(shè)置陰影區(qū)域偏移出餅的每部分邊框的距離     
  240.             shadowDepth: 5,     // 設(shè)置陰影區(qū)域的深度     
  241.             shadowAlpha: 0.07   // 設(shè)置陰影區(qū)域的透明度     
  242.         }     
  243.     },     
  244.          
  245.     //pointLabels(數(shù)據(jù)點標簽)     
  246.     //用于在數(shù)據(jù)點所在位置顯示相關(guān)信息(非提示框性質(zhì))     
  247.     seriesDefaults: {     
  248.         pointLabels: {     
  249.             location:'s',//數(shù)據(jù)標簽顯示在數(shù)據(jù)點附近的方位     
  250.             ypadding:2   //數(shù)據(jù)標簽距數(shù)據(jù)點在縱軸方向上的距離     
  251.         }     
  252.     }     
  253.          
  254.     // Trendline(趨勢線)     
  255.     // 餅狀圖通過seriesDefaults和series配置對象進行配置     
  256.          
  257.     seriesDefaults: {     
  258.         trendline: {     
  259.             show: true,         // 是否顯示趨勢線     
  260.             color: '#666666',   // 趨勢線顏色     
  261.             label: '',          // 趨勢線名稱     
  262.             type: 'linear',     //趨勢線類型'linear'(直線), 'exponential'(冪值數(shù)線) or 'exp'     
  263.             shadow: true,       // 同grid相同屬性設(shè)置     
  264.             lineWidth: 1.5,     // 趨勢線寬度     
  265.             shadowAngle: 45,    // 同grid相同屬性設(shè)置     
  266.             shadowOffset: 1.5, // 同grid相同屬性設(shè)置     
  267.             shadowDepth: 3,     // 同grid相同屬性設(shè)置     
  268.             shadowAlpha: 0.07   // 同grid相同屬性設(shè)置       
  269.         }     
  270.     }     

【編輯推薦】

  1. jQuery1.6c新增的適配器
  2. 從零開始學習jQuery之萬能的選擇器
  3. 從零開始學習jQuery之你必須知道的JavaScript
  4. jQuery實戰(zhàn)之仿Flash跳動的按鈕效果
  5. jQuery實現(xiàn)仿人人網(wǎng)彈出層效果
責任編輯:陳貽新 來源: 小寧的博客
相關(guān)推薦

2011-03-28 16:14:38

jQuery

2021-02-26 11:54:38

MyBatis 插件接口

2024-04-02 08:58:13

2024-03-05 18:27:43

2011-08-16 13:49:27

jQuery

2021-07-14 09:00:00

JavaFX開發(fā)應(yīng)用

2011-01-10 14:41:26

2011-05-03 15:59:00

黑盒打印機

2024-03-18 18:07:38

VSCode插件文件

2022-07-27 08:16:22

搜索引擎Lucene

2022-01-08 20:04:20

攔截系統(tǒng)調(diào)用

2022-03-14 14:47:21

HarmonyOS操作系統(tǒng)鴻蒙

2023-04-26 12:46:43

DockerSpringKubernetes

2022-12-07 08:42:35

2011-02-22 13:46:27

微軟SQL.NET

2021-12-28 08:38:26

Linux 中斷喚醒系統(tǒng)Linux 系統(tǒng)

2011-05-27 08:41:26

JavascriptFirefox

2017-07-07 11:01:04

Spark性能調(diào)優(yōu)

2020-08-12 07:41:39

SQL 優(yōu)化語句

2021-07-01 09:31:50

MySQL SQL 語句數(shù)據(jù)庫
點贊
收藏

51CTO技術(shù)棧公眾號