Echarts學習之十:series-bar柱形圖詳解
阿新 • • 發佈:2019-02-05
mytextStyle={
color:"#333", //文字顏色
fontStyle:"normal", //italic斜體 oblique傾斜
fontWeight:"normal", //文字粗細bold bolder lighter 100 | 200 | 300 | 400...
fontFamily:"sans-serif", //字體系列
fontSize:18, //字型大小
};
mylineStyle={
color:"#333", //顏色,'rgb(128, 128, 128)','rgba(128, 128, 128, 0.5)',支援線性漸變,徑向漸變,紋理填充
shadowColor:"red", //陰影顏色
shadowOffsetX:0, //陰影水平方向上的偏移距離。
shadowOffsetY:0, //陰影垂直方向上的偏移距離
shadowBlur:10, //圖形陰影的模糊大小。
type:"solid", //座標軸線線的型別,solid,dashed,dotted
width:1, //座標軸線線寬
opacity:1, //圖形透明度。支援從 0 到 1 的數字,為 0 時不繪製該圖形
};
myareaStyle={
color:['rgba(250,250,250,0.3)','rgba(200,200,200,0.3)'],//分隔區域顏色。分隔區域會按陣列中顏色的順序依次迴圈設定顏色。預設是一個深淺的間隔色。
shadowColor:"red", //陰影顏色
shadowOffsetX:0, //陰影水平方向上的偏移距離。
shadowOffsetY:0, //陰影垂直方向上的偏移距離
shadowBlur:10, //圖形陰影的模糊大小。
opacity:1, //圖形透明度。支援從 0 到 1 的數字,為 0 時不繪製該圖形
};
myitemStyle={
color:"red", //顏色
borderColor:"#000", //邊框顏色
borderWidth:0, //柱條的描邊寬度,預設不描邊。
borderType:"solid", //柱條的描邊型別,預設為實線,支援 'dashed', 'dotted'。
barBorderRadius:0, //柱形邊框圓角半徑,單位px,支援傳入陣列分別指定柱形4個圓角半徑。
shadowBlur:10, //圖形陰影的模糊大小。
shadowColor:"#000", //陰影顏色
shadowOffsetX:0, //陰影水平方向上的偏移距離。
shadowOffsetY:0, //陰影垂直方向上的偏移距離。
opacity:1, //圖形透明度。支援從 0 到 1 的數字,為 0 時不繪製該圖形。
};
mylabel={
show:false, //是否顯示標籤。
position:"inside", //標籤的位置。// 絕對的畫素值[10, 10],// 相對的百分比['50%', '50%'].'top','left','right','bottom','inside','insideLeft','insideRight','insideTop','insideBottom','insideTopLeft','insideBottomLeft','insideTopRight','insideBottomRight'
offset:[30, 40], //是否對文字進行偏移。預設不偏移。例如:[30, 40] 表示文字在橫向上偏移 30,縱向上偏移 40。
formatter:'{b}: {c}', //標籤內容格式器。模板變數有 {a}、{b}、{c},分別表示系列名,資料名,資料值。
textStyle:mytextStyle
};
mypoint={
symbol:"pin", //圖形 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow'
symbolSize:50, //標記的大小,可以設定成諸如 10 這樣單一的數字,也可以用陣列分開表示寬和高,例如 [20, 10] 表示標記寬為20,高為10。
symbolRotate:0, //標記的旋轉角度。注意在 markLine 中當 symbol 為 'arrow' 時會忽略 symbolRotate 強制設定為切線的角度。
symbolOffset:[0,0], //標記相對於原本位置的偏移。預設情況下,標記會居中置放在資料對應的位置
silent:false, //圖形是否不響應和觸發滑鼠事件,預設為 false,即響應和觸發滑鼠事件。
label:{
normal:mylabel,
emphasis:mylabel
},
itemStyle:{
normal:myitemStyle,
emphasis:myitemStyle
}
};
myline={
symbol:["pin","circle"], //圖形 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow'
symbolSize:50, //標記的大小,可以設定成諸如 10 這樣單一的數字,也可以用陣列分開表示寬和高,例如 [20, 10] 表示標記寬為20,高為10。
precision:2, //標線數值的精度,在顯示平均值線的時候有用。
silent:false, //圖形是否不響應和觸發滑鼠事件,預設為 false,即響應和觸發滑鼠事件。
label:{
normal:mylabel,
emphasis:mylabel
},
lineStyle:{
normal:mylineStyle,
emphasis:mylineStyle
}
};
myarea={
silent:false, //圖形是否不響應和觸發滑鼠事件,預設為 false,即響應和觸發滑鼠事件。
label:{
normal:mylabel,
emphasis:mylabel
},
itemStyle:{
normal:myitemStyle,
emphasis:myitemStyle
}
};
series=[
{
type:"bar", //柱形
zlevel:0, //柱狀圖所有圖形的 zlevel 值。
z:2, //柱狀圖元件的所有圖形的z值。控制圖形的前後順序。z值小的圖形會被z值大的圖形覆蓋。
silent:false, //圖形是否不響應和觸發滑鼠事件,預設為 false,即響應和觸發滑鼠事件。
name:"資料名稱", //系列名稱,用於tooltip的顯示,legend 的圖例篩選,在 setOption 更新資料和配置項時用於指定對應的系列。
legendHoverLink:true, //是否啟用圖例 hover 時的聯動高亮。
coordinateSystem:"cartesian2d",////'cartesian2d'使用二維的直角座標系。'geo'使用地理座標系
xAxisIndex:0, //使用的 x 軸的 index,在單個圖表例項中存在多個 x 軸的時候有用。
yAxisIndex:0, //使用的 y 軸的 index,在單個圖表例項中存在多個 y軸的時候有用。
label:{ //圖形上的文字標籤,可用於說明圖形的一些資料資訊,比如值,名稱等,
normal:mylabel,
emphasis:mylabel
},
itemStyle:{ //圖形樣式,normal 是圖形在預設狀態下的樣式;emphasis 是圖形在高亮狀態下的樣式,比如在滑鼠懸浮或者圖例聯動高亮時。
normal:myitemStyle,
emphasis:myitemStyle,
},
stack:null, //資料堆疊,同個類目軸上系列配置相同的stack值可以堆疊放置。
cursor:"pointer", //滑鼠懸浮時在圖形元素上時滑鼠的樣式是什麼。同 CSS 的 cursor。
barGap:"30%", //柱間距離,可設固定值(如 20)或者百分比(如 '30%',表示柱子寬度的 30%)。
barCategoryGap:"20%", //類目間柱形距離,預設為類目間距的20%,可設固定值
encode: { //可以定義 data 的哪個維度被編碼成什麼
x: [3, 1, 5], // 表示維度 3、1、5 對映到 x 軸。
y: 2, // 表示維度 2 對映到 y 軸。
tooltip: [3, 2, 4], // 表示維度 3、2、4 會在 tooltip 中顯示。
label: 3 // 表示 label 使用維度 3。
},
data: [ //每一列稱為一個『維度』。維度下標從0開始
[12, 44, 55, 66, 2],
[23, 6, 16, 23, 1],
[12, 44, 55, 66, 2],
[23, 6, 16, 23, 1],
[12, 44, 55, 66, 2],
[23, 6, 16, 23, 1],
],
markPoint:mypoint.data=[
{name: '最大值', type: 'max'},
{name: '某個座標', coord: [10, 20]},
{name: '固定 x 畫素位置', yAxis: 10, x: '90%'},
{name: '某個螢幕座標', x: 100, y: 100}],
markLine:myline.data=[
{name: '平均線',type: 'average'}, // 支援 'average', 'min', 'max'
{name: 'Y 軸值為 100 的水平線',yAxis: 100},
[
{name: '最小值到最大值', type: 'min'}, // 起點和終點的項會共用一個 name
{type: 'max'}
],
[
{name: '兩個座標之間的標線',coord: [10, 20]},
{coord: [20, 30]}
],
[
{yAxis: 'max',x: '90%'}, // 固定起點的 x 畫素位置,用於模擬一條指向最大值的水平線
{type: 'max'}
],
[
{ name: '兩個螢幕座標之間的標線',x: 100,y: 100},
{x: 500,y: 200}
]
],
markArea:myarea.data=[
[
{name: '平均值到最大值',type: 'average'},
{type: 'max'}
],
[
{name: '兩個座標之間的標域',coord: [10, 20]},
{coord: [20, 30]}
],
[
{name: '60分到80分',yAxis: 60},
{yAxis: 80}
],
[
{name: '所有資料範圍區間',coord: ['min', 'min']},
{coord: ['max', 'max']}
],
[
{name: '兩個螢幕座標之間的標域',x: 100,y: 100},
{x: '90%',y: '10%'}
]
],
tooltip:tooltip,
},
];