highcharts基本配置和使用highcharts做手機端表徵圖

來源:互聯網
上載者:User

標籤:seo   樣式   rip   sock   htm   abs   box   str   用法   

使用highcharts三個理由:
1》手機適配
2》大資料的支援
3》svg的優勢
缺點:
不開源、學習資料少

官方有基本的常規用法,一般都是基於jquery寫的例子,也可以自己封裝函數,用原生來調取,效能簡單測試一下,沒發現兩者有什麼大的區別。
heightcharts.js是一些簡單圖表的架構js,但是要做動態即時資料圖
  <script src="js/jquery-1.7.2.js"></script>
   <script src="js/highstock.js"></script>

下面是之前工作需求的一些參數,我做一下解釋,由於裡面參數太多,就不一一做說明。
Highcharts.setOptions({
         global: {//由於時間軸的動態資料,需要把時間格式確定一下,utc是國際時間格式,higharts預設是國際,在中國需要GMT,所以這個需要轉變為false。
              useUTC: false
         }
  });//擷取目前時間

圖表配置
$(‘#container‘).highcharts({//jquery選中盒子,並且給盒子加圖表,這是基本寫法。    chart: {//所有的配置參數都寫在chat這個json裡面。        events: {//處理一些事件,有click  mouseover,load等等,設定其不同的效果,用函數來表達你想要的事件。            load: function () {                // 設定表徵圖每秒跟新                var series = this.series[0];                setInterval(function () {                    var i=0;                    var x = parseInt((new Date()).getTime()), // 目前時間                            y = Math.abs((Math.random()-0.5))*20;//每個點兩個值  x和y。                    series.addPoint([x, y], true, false);//這是動態增加資料的關鍵,其實增加的地區在對象series裡面。addpoint是其一個方法,如需重新渲染的話用update                },3000);},        },        backgroundColor:‘#fff‘,//圖表背景色        pinchType:‘‘,// 讓在移動端可以滑動        zoomType : ‘‘//點擊縮放 裡面可以放 y x xy    },    colors: [‘#434348‘, ‘#90ed7d‘, ‘#f7a35c‘, ‘#8085e9‘,‘#f15c80‘, ‘#e4d354‘, ‘#8085e8‘, ‘#8d4653‘, ‘#91e8e1‘],//顏色數組,會根據不同的地區自動放不同的顏色,一般在蠟燭圖和餅狀圖效果明顯    credits : { // 網站標識        enabled : false//著作權為fals 就不會再顯示highcharts的logo。    },    navigator : { // 底部導航內容        enabled : false//此處如果為true 就會出現導航,你可以設定下面的效果,讓其功能出現,可以拖動縮放突變解析度    },    scrollbar : {        enabled : false//滑動按鈕    },    rangeSelector : {        enabled : false    },    xAxis: {//x軸設定        dateTimeLabelFormats: {//給時間軸格式化,展示你想要的時間效果。            second: ‘D1‘?‘%m-%d‘:‘%H:%M:%S‘,            minute: ‘D1‘?‘%m-%d‘:‘%H:%M‘,            hour: ‘D1‘?‘%m-%d‘:‘%H:%M‘,            day: ‘D1‘?‘%m-%d‘:‘%H:%M‘,            week: ‘D1‘?‘%m-%d‘:‘%H:%M‘,            month: ‘D1‘?‘%m-%d‘:‘%H:%M‘        },        top:20,//x軸位置        lineColor: ‘#90ed7d‘,//軸線的顏色        lineWidth: 1,//軸線的寬度        type: ‘datetime‘,//聲明這是時間軸        tickWidth: 1,//軸上刻度寬度        tickColor: ‘#8085e9‘,//刻度顏色        minRange: 360000,//最小差值,這是以時間戳記來計算的        tickInterval:36e5,//顯示刻度的位置,也就是隔多少範圍顯示一個        tickLength:10,//線的長度        labels: {//顯示內容的設定,顏色或字型的大小。            style: {                color: ‘#000‘,                fontSize: ‘8px‘            }        },        plotLines: [{//標示線設定。            value: 0,            width: 1,            color: ‘#808080‘        }]    },    yAxis: {//y軸設定 其實與x軸沒啥大的區別,就看你想要什麼樣的效果。        top:20,        opposite:true,        minorTickInterval:"auto",        lineColor: ‘#8085e9‘,        lineWidth: 0,        tickWidth: 0,        tickLength:0,        tickColor: ‘#8085e9‘,        title: {            text: ‘‘        },        labels: {            style: {                color: ‘#000‘,                fontSize: ‘8px‘            }        },        plotLines: [{//這塊需要重點說一下,指示線需要設定一定的樣式,可以設定顯示的位置,線型,粗細,長短,字型,以及text標籤。            value: 0,            color: ‘green‘,            dashStyle: ‘LongDashDotDot‘,            width: 2,            label: {                useHTML: true,                text: ‘<strong>訂單價:‘+0+"</strong>",                align:"left"            }        }]    },    plotOptions: {//此處更重要,這是你圖表的二次解釋說明修改的地方,裡面可以根據不同的列表樣式來著重說明體現        area: {//面積圖的說明            fillColor: {//面積色彩坡形。                linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1},                stops: [                    [0, ‘#808080‘],                    [1, Highcharts.Color(‘#808080‘).setOpacity(0).get(‘rgba‘)]                ]            },            lineWidth: 1,            marker: {                enabled: false            },            shadow: false,            states: {                hover: {                    lineWidth: 1                }            },            threshold: null        },        candlestick: {            lineColor: ‘black‘        },        boxplot: {            fillColor: ‘#505053‘        }    },    series : [{//資料展示的位置,        type: ‘M1‘ ?‘area‘:‘candlestick‘,        name : ‘ha‘    }    ]});

上面是在chart裡面動態增加的資料,如果想用ajax或者websocket動態增加資料,還可以這麼寫
$(function () {
   containerPain();//把上面的函數封裝 在這兒調用。但是 series是全域變數,需要var 一個。
   setInterval(function () {//此處寫ajax或者websocket.
      var x = (new Date()).getTime(), // current time
      y = 44+(rnd(0.5,0.6));
      series.addPoint(【x,y】);
   }, 1000);
});



highcharts基本配置和使用highcharts做手機端表徵圖

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.