1. 程式人生 > >HighCharts/Highstock使用小結,使用漢化及中文幫助文件

HighCharts/Highstock使用小結,使用漢化及中文幫助文件

   此文件是本人在開發過程圖形報表時使用HighCharts所遇到的問題及解決方案 。最後附上有HighCharts中文幫助文件

   HighCharts  版本:Highcharts-3.0.1   

   HighStock   版本:Highstock-1.3.1

xAxis x軸的樣式

xAxis: {

      categories: ['Apples', 'Bananas', 'Oranges']], //X軸資料data

          abels: {//X軸座標值樣式  

              rotation: -30,   //字型傾斜的角度

              align: 'right',    //字型傾斜的方向

              style: {         //字型樣式

                   font: 'normal 14px Verdana, sans-serif' 

                   }

                },

           title:{

                 text: '單位(型別)'  //X軸上的標題

               }

        }

X軸其它屬性值:

   tickPixelInterval: 150,//x軸上的間隔

   type: 'datetime', //定義x軸上資料型別(此處以日期為例)

   labels: {        //設定X軸各分類名稱的樣式style

        formatter: function() { 

              var vDate=new Date(this.value); 

              return vDate.getFullYear()+"-"+(vDate.getMonth()+1)+"-"+vDate.getDate(); 

           }     //定義x軸上資料顯示格式(此處以日期格式為例)

align: 'center'   //顯示位置

allowDecimals:true   //軸上的刻度是否允許使用小數 預設值為true

如果使用到其它屬性可參照以下資訊

Highcharts翻譯系列之十七:xAxis x軸的樣式(一)

Highcharts 翻譯系列之十八:x軸樣式(二)

yAxis y軸的樣式

Y軸選項與上述xAxis選項基本一致,請參照上面xAxis x軸的樣式

Exporting 匯出

exporting :{

               enabled:true

            },   //隱藏列印按鈕 (右上角,預設為true)

Credits 名片

 credits:{

      enabled:false

      },  //Credits 名片   (右下角,預設為true。)

plotOptions資料點選項

plotOptions: {      //此處主要是以柱狀圖為例

        column: {

           dataLabels: {

           enabled: true,     //是否顯示

           style: {           //字型樣式

           fontWeight: 'bold'   

                },

            formatter: function() {    //顯示資訊的內容和格式(此處可以做超連結)

                return   this.y+' 人';

                        }

                    }

                }

            } 

如果使用到其它屬性可參照以下資訊

Highcharts翻譯系列九:PlotOptions之area區域圖

Legend:圖例選項

legend: {

         layout: 'vertical',

         align: 'right',

         verticalAlign: 'top',

         x: -10,

         y: 100,

         borderWidth: 0

            },  //圖例樣式

如果使用到其它屬性可參照以下資訊

Highcharts翻譯系列六:legend 圖例選項

Color 顏色選項

   此處請參照HighCharts中文幫助文件

Title:標題選項

tooltip: {

      formatter: function() {    //在此處可以自定義提示資訊顯示的樣式

                return '<b>'+ this.x.toLowerCase() +': '+this.y +' 人</b> ' ;

            }

     },

如果使用到其它屬性可參照以下資訊

Highcharts翻譯系列之十六:tooltip工具提示

Lang  語言選項 (英譯漢)

lang:{ 

    printChart: '列印圖表',

  downloadPNG: '下載JPEG 圖片',

       downloadJPEG: '下載JPEG文件',

downloadPDF: '下載PDF 圖片',

       downloadSVG: '下載SVG 向量圖',

       contextButtonTitle: '下載圖片'

  }

HighStock  頂部按鈕和時間格式漢化

(Zoom,From,To   highstock.js---308行)

rangeSelector: { 

                    buttons: [{//定義一組buttons,下標從0開始 

                    type: 'week', 

                    count: 1, 

                    text: '1周' 

                },{ 

                    type: 'month', 

                    count: 1, 

                    text: '1月' 

                }, { 

                    type: 'month', 

                    count: 3, 

                    text: '3月' 

                }, { 

                    type: 'month', 

                    count: 6, 

                    text: '6月' 

                }, { 

                    type: 'ytd',  

                    text: '1季度' 

                }, { 

                    type: 'year', 

                    count: 1, 

                    text: '1年' 

                }, { 

                    type: 'all', 

                    text: '全部' 

                }], 

                buttonTheme: {

                             width: 36,

                             height: 16,

                             padding: 1,

                             r: 0,

                             stroke: '#68A',

                             zIndex: 7

                      },

                          inputDateFormat: '%Y-%m-%d',

                          inputEditDateFormat: '%Y-%m-%d',

                    selected: 1//表示以上定義button的index,從0開始 

                },

語言物件。語言物件是全域性的,而且不能在圖表初始化的時候設定。它必須使用Highcharts.setOptions在圖表初始化之間設定

Highcharts.setOptions({

         global: {

          useUTC: false

             },

          lang:{

          months:[ 'Janvier', 'Fevrier', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août','Septembre',  'Octobre','Novembre', 'Decembre'],

          weekdays:[ 'Sunday',  'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']

          }

      });

漢化後:

Highcharts.setOptions({

         global: {

          useUTC: false

             },

          lang:{

          months:['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月','九月',  '十月','十一月', '十二月'],

          weekdays:['星期日',  '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']

          }

      });

其他漢化資訊科參照

highcharts 頁面匯出按鈕漢化

Column, line and pie 三圖組合

tooltip: {

         formatter: function() {

                        var s;

                        if (this.point.name) { // 當為餅狀圖時

                            s = ''+

                                this.point.name +': <br/>總戶數 '+ this.y +' 戶';

                        }else {

                            s = ''+

                               +this.series.name +'('+this.x +'): '+ this.y+' 戶’;

                        }

                        return s;

                    },

                    positioner:null

                },

size: 120,    //Pie大小

allowPointSelect: true, //扇區是否可以點選

cursor: 'pointer',  //滑鼠的樣式

showInLegend: false,  //圖例

dataLabels: {

       enabled: false//是否顯示資訊

     }

Highcharts中文幫助文件

Chart 圖示區選項

Chart圖表區選項用於設定圖表區相關屬性。

引數

描述

預設值

backgroundColor

設定圖表區背景色

#FFFFFF

borderWidth

設定圖表邊框寬度

0

borderRadius

設定圖表邊框圓角角度

5

renderTo

圖表放置的容器,一般在html中放置一個DIV,獲取DIV的id屬性值

null

defaultSeriesType

預設圖表型別line, spline, area, areaspline, column, bar, pie , scatter

0

width

圖表寬度,預設根據圖表容器自適應寬度

null

height

圖表高度,預設根據圖表容器自適應高度

null

margin

設定圖表與其他元素之間的間距,陣列,如[0,0,0,0]

[null]

plotBackgroundColor

主圖表區背景色,即X軸與Y軸圍成的區域的背景色

null

plotBorderColor

主圖表區邊框的顏色,即X軸與Y軸圍成的區域的邊框顏色

null

plotBorderWidth

主圖表區邊框的寬度

0

shadow

是否設定陰影,需要設定背景色backgroundColor。

false

reflow

是否自使用圖表區域高度和寬度,如果沒有設定width和height時,會自適應大小。

true

zoomType

拖動滑鼠進行縮放,沿x軸或y軸進行縮放,可以設定為:'x','y','xy'

''

events

事件回撥,支援addSeries方法,click方法,load方法,selection方法等的回撥函式。

Color 顏色選項

Color顏色選項用於設定圖表的顏色方案。

引數

描述

預設值

color

用於展示圖表,折線/柱狀/餅狀等圖的顏色,陣列形式。

array

Highcharts已經預設提供了多種顏色方案,當要顯示的圖形多於顏色種類時,多出的圖形會自動從第一種顏色方案開始選取。自定義顏色方案的方法:

 
Highcharts.setOptions({ 
    colors: ['#058DC7', '#50B432', '#ED561B', '#DDDF00', '#24CBE5', '#64E572', '#FF9655', 
'#FFF263', '#6AF9C4'] 
}); 

Credits 名片

引數

描述

預設值

enabled

是否啟用名片

True

href

點選名片跳轉的連結

http://www.highchart.com

position

設定名片的位置

position: {

       align: 'right',

       x: -10,

       verticalAlign: 'bottom',

       y: -5

}

style

設定名片的樣式

text

設定名片顯示的值

"Highcharts.com"

exporting 匯出

引數

描述

預設值

enabled

是否顯示匯出列印的按鈕

true

url

設定點選匯出按鈕連線的地址,預設是官網的地址,可自己定義

filename

儲存的檔名

chart

type

儲存的檔案型別

Image/png

buttons

設定匯出或列印按鈕的樣式、事件等具體配置請看官網

width

寬度

800

Global 全域性設定

(Google翻譯的)

全球設定並不適用於每個圖表的選項。像lang選項,這些選項,必須設定使用Highcharts.setOptions方法。

引數

描述

預設值

canvasToolsURL

設定延遲載入的Android2.x裝置的附加檔案的URL。這些裝置不支援SVG,所以需要下載一個幫助檔案,其中包含canvg,的依賴關係rbcolor,和CanVG Renderer類。可以自己安裝canvas-tools.js到自己的伺服器上,相應地更改此選項。預設值的“http://www.highcharts.com/js/canvas-tools.js”。

useUTC

是否使用UTC時間,為軸縮放,刻度標記的位置和時間在Highcharts.dateFormat顯示。

Title:標題選項

Title標題選項用於設定圖表的標題相關屬性。

引數

描述

預設值

text

標題文字內容。

Chart title

align

水平對齊方式。

center

verticalAlign

垂直對齊方式。

top

margin

標題與副標題之間或者主圖表區間的間距。

15

floating

是否浮動,如果為true,則標題可以偏離主圖表區,可配合x,y屬性使用。

false

style

設定CSS樣式。

{color: '#3E576F',
fontSize: '16px'}

Subtitle:副標題選項

副標題提供的屬性選項與標題title大致相同,可參照上述標題選項,值得一提的是副標題的text選項預設為'',即空的,所以預設情況下副標題不顯示。

xAxis:X軸選項

X軸選項用於設定圖表X軸相關屬性。

引數

描述

預設值

categories

設定X軸分類名稱,陣列,例如:categories: ['Apples', 'Bananas', 'Oranges']

[]

title

X軸名稱,支援text、enabled、align、rotation、style等屬性

labels

設定X軸各分類名稱的樣式style,格式formatter,角度rotation等。

array

max

X軸最大值(categories為空時),如果為null,則最大值會根據X軸資料自動匹配一個最大值。

null

min

X軸最小值(categories為空時),如果為null,則最小值會根據X軸資料自動匹配一個最小值。

array

gridLineColor

網格(豎線)顏色

#C0C0C0

gridLineWidth

網格(豎線)寬度

1

lineColor

基線顏色

#C0D0E0

lineWidth

基線寬度

0

yAxis:Y軸選項

Y軸選項與上述xAxis選項基本一致,請參照上表中的引數設定,不再單獨列出。

Series:資料列選項

資料列選項用於設定圖表中要展示的資料相關的屬性。

引數

描述

預設值

data

顯示在圖表中的資料列,可以為陣列或者JSON格式的資料。如:data:[0, 5, 3, 5],或
data: [{name: 'Point 1',y: 0}, {name: 'Point 2',y: 5}]

如果想對不同的列顯示不同的顏色請對該列使用color屬性,如data: [148.5, { y: 216.4,color: '#BF0B23'},54.4]

''

name

顯示資料列的名稱。

''

type

資料列型別,支援 area, areaspline, bar, column, line, pie, scatter or spline

line

plotOptions:資料點選項

plotOptions用於設定圖表中的資料點相關屬性。plotOptions根據各種圖表型別,其屬性設定略微有些差異,以下是部分選項。

引數

描述

預設值

enableMouseTracking

啟用或禁用滑鼠跟蹤一個特定的列。這包括點提示和圖上點的單擊事件。對於大型資料集,它可以提高效能。如果這個禁用了event事件將無法執行

true

events

可以設定對整個圖形的click事件、單擊圖例顯示和隱藏圖形,還有mouseOut、mouseOver等。具體詳細資訊請看官網

point

每個單點的屬性,該屬性下面可以這個單個點的click、mouseOut、mouseOver、remove、select(選中是觸發)、unselect(失去選中時觸發),update(對某個點更新時觸發)

zIndex

設定圖形的zIndex值,值相對大的顯示在頂層

pointPadding

設定每列之間填充的大小,只對column和bar有效。

pointWidth

設定每列之間一個固定的寬度,只對column和bar有效。

Tooltip:資料點提示框

Tooltip用於設定當滑鼠滑向資料點時顯示的提示框資訊。

引數

描述

預設值

enabled

是否顯示提示框

true

backgroundColor

設定提示框的背景色

rgba(255, 255, 255, .85)

borderColor

提示框邊框顏色,預設自動匹配資料列的顏色

auto

borderRadius

提示框圓角度

5

shadow

是否顯示提示框陰影

true

style

設定提示框內容樣式,如字型顏色等

color:'#333'

formatter

回撥函式,用於格式化輸出提示框的顯示內容。返回的內容支援html標籤如:<b>, <strong>, <i>, <em>, <br/>, <span>

2

Legend:圖例選項

legend用於設定圖例相關屬性。

引數

描述

預設值

layout

顯示形式,支援水平horizontal和垂直vertical

horizontal

align

對齊方式。

center

backgroundColor

圖例背景色。

null

borderColor

圖例邊框顏色。

#909090

borderRadius

圖例邊框角度

5

enabled

是否顯示圖例

true

floating

是否可以浮動,配合x,y屬性。

false

shadow

是否顯示陰影

false

style

設定圖例內容樣式

''

Navigation按鈕和圖例選項

引數

描述

預設值

buttonOptions

設定匯出,列印按鈕的選項,如顯示的位置,樣式,是否啟用等

menuItemHoverStyle

懸停在圖例上面的樣式

menuItemStyle

mentStyle

Loading

在圖形上顯示一個loading文字,可能是用於增加使用者體驗

引數

描述

預設值

hideDuration

設定loading標籤淡出的時間

100

showDuration

設定loading標籤淡入的時間

100

labelStyle

Loading標籤樣式

style

loading標籤的樣式,涵蓋了繪圖區