成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

手把手教你jQuery jqPlot畫圖插件

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

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

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

功能概述:

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

◆ 可以自定義日期軸線

◆ 可設置旋轉軸文字

◆ 自動計算趨勢線

◆ 工具條提示和高亮數據點

◆ 默認最優設置,非常易于使用

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

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

下邊是搜集的詳細參數配置:

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

【編輯推薦】

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

2021-02-26 11:54:38

MyBatis 插件接口

2011-03-28 16:14:38

jQuery

2024-03-05 18:27:43

2024-04-02 08:58:13

2021-07-14 09:00:00

JavaFX開發應用

2011-01-10 14:41:26

2011-05-03 15:59:00

黑盒打印機

2025-05-07 00:31:30

2024-03-18 18:07:38

VSCode插件文件

2011-08-16 13:49:27

jQuery

2023-04-26 12:46:43

DockerSpringKubernetes

2022-01-08 20:04:20

攔截系統調用

2022-03-14 14:47:21

HarmonyOS操作系統鴻蒙

2022-07-27 08:16:22

搜索引擎Lucene

2022-12-07 08:42:35

2011-02-22 13:46:27

微軟SQL.NET

2021-12-28 08:38:26

Linux 中斷喚醒系統Linux 系統

2020-08-12 07:41:39

SQL 優化語句

2021-07-01 09:31:50

MySQL SQL 語句數據庫

2017-07-07 11:01:04

Spark性能調優
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品视频二区三区 | 国产xxxx搡xxxxx搡麻豆 | 日日夜夜操天天干 | 久久精品—区二区三区 | 亚洲3p| 国产区精品在线观看 | 国产精品18久久久久久久 | 午夜网站视频 | 婷婷色婷婷 | 国产精品成人在线 | 99久久精品国产毛片 | 久久久久成人精品免费播放动漫 | 久久亚洲二区 | 国产精品一区二区三区久久 | 欧美激情视频一区二区三区免费 | 国产在线观看免费 | av在线免费网 | 在线免费小视频 | 蜜桃av一区二区三区 | 国产一区二区三区 | 男女网站免费观看 | 欧美国产视频一区二区 | 色精品视频 | 一区不卡在线观看 | 日韩成人高清在线 | 欧洲精品码一区二区三区免费看 | 欧美在线视频一区 | 久久免费精品 | 99视频在线免费观看 | 一级免费看片 | 久久国产日韩欧美 | 欧美性生活一区二区三区 | 青草久久免费视频 | 欧美久久久久久久久 | 日韩欧美国产一区二区 | 国产区精品在线观看 | 国产精品免费一区二区三区四区 | av香蕉| 99re视频在线 | 国产91精品在线 | 中文字幕 国产 |