W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
type
在象形柱圖中 type 屬性值為 'pictorialBar'。
name
系列名稱,用于tooltip的顯示,legend 的圖例篩選,在 setOption 更新數(shù)據(jù)和配置項時用于指定對應(yīng)的系列。
legendHoverLink
是否啟用圖例 hover 時的聯(lián)動高亮,默認(rèn)為 true。
coordinateSystem
該系列使用的坐標(biāo)系,可選的值:
xAxisIndex
使用的 x 軸的 index,在單個圖表實例中存在多個 x 軸的時候有用。
yAxisIndex
使用的 y 軸的 index,在單個圖表實例中存在多個 y軸的時候有用。
cursor
鼠標(biāo)懸浮時在圖形元素上時鼠標(biāo)的樣式是什么,默認(rèn)為 'pointer'。同 CSS 的 cursor。
label
圖形上的文本標(biāo)簽,可用于說明圖形的一些數(shù)據(jù)信息,比如值,名稱等,label選項在 ECharts 2.x 中放置于itemStyle.normal下,在 ECharts 3 中為了讓整個配置項結(jié)構(gòu)更扁平合理,label 被拿出來跟 itemStyle 平級,并且跟 itemStyle 一樣擁有 normal, emphasis 兩個狀態(tài)。
itemStyle
圖形樣式,有 normal 和 emphasis 兩個狀態(tài)。normal 是圖形在默認(rèn)狀態(tài)下的樣式;emphasis 是圖形在高亮狀態(tài)下的樣式,比如在鼠標(biāo)懸浮或者圖例聯(lián)動高亮?xí)r。
barWidth
柱條的寬度,不設(shè)時自適應(yīng)。支持設(shè)置成相對于類目寬度的百分比。
在同一坐標(biāo)系上,此屬性會被多個 'pictorialBar' 系列共享。此屬性應(yīng)設(shè)置于此坐標(biāo)系中最后一個 'pictorialBar' 系列上才會生效,并且是對此坐標(biāo)系中所有 'pictorialBar' 系列生效。
barMaxWidth
柱條的最大寬度,不設(shè)時自適應(yīng)。支持設(shè)置成相對于類目寬度的百分比。
在同一坐標(biāo)系上,此屬性會被多個 'pictorialBar' 系列共享。此屬性應(yīng)設(shè)置于此坐標(biāo)系中最后一個 'pictorialBar' 系列上才會生效,并且是對此坐標(biāo)系中所有 'pictorialBar' 系列生效。
barMinHeight
柱條最小高度,可用于防止某數(shù)據(jù)項的值過小而影響交互。
barGap
柱間距離,可設(shè)固定值(如 20)或者百分比(如 '30%',表示柱子寬度的 30%)。默認(rèn)為-100%
如果想要兩個系列的柱子重疊,可以設(shè)置 barGap 為 '-100%'。這在用柱子做背景的時候有用。
在同一坐標(biāo)系上,此屬性會被多個 'pictorialBar' 系列共享。此屬性應(yīng)設(shè)置于此坐標(biāo)系中最后一個 'pictorialBar' 系列上才會生效,并且是對此坐標(biāo)系中所有 'pictorialBar' 系列生效。
例子:
barCategoryGap
類目間柱形距離,默認(rèn)為類目間距的20%,可設(shè)固定值
在同一坐標(biāo)系上,此屬性會被多個 'pictorialBar' 系列共享。此屬性應(yīng)設(shè)置于此坐標(biāo)系中最后一個 'pictorialBar' 系列上才會生效,并且是對此坐標(biāo)系中所有 'pictorialBar' 系列生效。
symbol
圖形類型。
ECharts 提供的標(biāo)記類型包括 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow'
也可以通過 'image://url' 設(shè)置為圖片,其中 url 為圖片的鏈接,或者 dataURI。
可以通過 'path://' 將圖標(biāo)設(shè)置為任意的矢量路徑。這種方式相比于使用圖片的方式,不用擔(dān)心因為縮放而產(chǎn)生鋸齒或模糊,而且可以設(shè)置為任意顏色。路徑圖形會自適應(yīng)調(diào)整為合適的大小。路徑的格式參見 SVG PathData??梢詮?Adobe Illustrator 等工具編輯導(dǎo)出。
例子:
此屬性可以被設(shè)置在系列的 根部,表示對此系列中所有數(shù)據(jù)都生效;也可以被設(shè)置在 data 中的 每個數(shù)據(jù)項中,表示只對此數(shù)據(jù)項生效。
例如:
series: [{
symbol: ... // 對 data 中所有數(shù)據(jù)項生效。
data: [23, 56]
}]
或者
series: [{
data: [{
value: 23
symbol: ... // 只對此數(shù)據(jù)項生效
}, {
value: 56
symbol: ... // 只對此數(shù)據(jù)項生效
}]
}]
symbolSize
圖形的大小。默認(rèn)為 ['100%', '100%']。
可以用數(shù)組分開表示寬和高,例如 [20, 10] 表示標(biāo)記寬為20,高為10,也可以設(shè)置成諸如 10 這樣單一的數(shù)字,表示 [10, 10]。
可以設(shè)置成絕對值(如 10),也可以設(shè)置成百分比(如 '120%'、['55%', 23])。
當(dāng)設(shè)置為百分比時,圖形的大小是基于 基準(zhǔn)柱 的尺寸計算出來的。
例如,當(dāng)基準(zhǔn)柱基于 x 軸(即柱子是縱向的),symbolSize 設(shè)置為 ['30%', '50%'],那么最終圖形的尺寸是:
基準(zhǔn)柱基于 y 軸(即柱子是橫向的)的情況類似對調(diào)可得出。
例子:
此屬性可以被設(shè)置在系列的 根部,表示對此系列中所有數(shù)據(jù)都生效;也可以被設(shè)置在 data 中的 每個數(shù)據(jù)項中,表示只對此數(shù)據(jù)項生效。
例如:
series: [{
symbolSize: ... // 對 data 中所有數(shù)據(jù)項生效。
data: [23, 56]
}]
或者
series: [{
data: [{
value: 23
symbolSize: ... // 只對此數(shù)據(jù)項生效
}, {
value: 56
symbolSize: ... // 只對此數(shù)據(jù)項生效
}]
}]
symbolPosition
圖形的定位位置。可取值:
例子:
此屬性可以被設(shè)置在系列的 根部,表示對此系列中所有數(shù)據(jù)都生效;也可以被設(shè)置在 data 中的 每個數(shù)據(jù)項中,表示只對此數(shù)據(jù)項生效。
例如:
series: [{
symbolPosition: ... // 對 data 中所有數(shù)據(jù)項生效。
data: [23, 56]
}]
或者:
series: [{
data: [{
value: 23
symbolPosition: ... // 只對此數(shù)據(jù)項生效
}, {
value: 56
symbolPosition: ... // 只對此數(shù)據(jù)項生效
}]
}]
symbolOffset
圖形相對于原本位置的偏移。symbolOffset 是圖形定位中最后計算的一個步驟,可以對圖形計算出來的位置進(jìn)行微調(diào)。
可以設(shè)置成絕對值(如 10),也可以設(shè)置成百分比(如 '120%'、['55%', 23])。
當(dāng)設(shè)置為百分比時,表示相對于自身尺寸 symbolSize 的百分比。
例如 [0, '-50%'] 就是把圖形向上移動了自身尺寸的一半的位置。
此屬性可以被設(shè)置在系列的根部,表示對此系列中所有數(shù)據(jù)都生效;也可以被設(shè)置在 data 中的 每個數(shù)據(jù)項中,表示只對此數(shù)據(jù)項生效。
例如:
series: [{
symbolOffset: ... // 對 data 中所有數(shù)據(jù)項生效。
data: [23, 56]
}]
或者:
series: [{
data: [{
value: 23
symbolOffset: ... // 只對此數(shù)據(jù)項生效
}, {
value: 56
symbolOffset: ... // 只對此數(shù)據(jù)項生效
}]
}]
symbolRotate
圖形的旋轉(zhuǎn)角度。
注意,symbolRotate 并不會影響圖形的定位(哪怕超出基準(zhǔn)柱的邊界),而只是單純得繞自身中心旋轉(zhuǎn)。
此屬性可以被設(shè)置在系列的根部,表示對此系列中所有數(shù)據(jù)都生效;也可以被設(shè)置在 data 中的每個數(shù)據(jù)項中,表示只對此數(shù)據(jù)項生效。
例如:
series: [{
symbolRotate: ... // 對 data 中所有數(shù)據(jù)項生效。
data: [23, 56]
}]
或者:
series: [{
data: [{
value: 23
symbolRotate: ... // 只對此數(shù)據(jù)項生效
}, {
value: 56
symbolRotate: ... // 只對此數(shù)據(jù)項生效
}]
}]
symbolRepeat
指定圖形元素是否重復(fù)。值可為:
例子:
此屬性可以被設(shè)置在系列的根部,表示對此系列中所有數(shù)據(jù)都生效;也可以被設(shè)置在 data 中的每個數(shù)據(jù)項中,表示只對此數(shù)據(jù)項生效。
例如:
series: [{
symbolRepeat: ... // 對 data 中所有數(shù)據(jù)項生效。
data: [23, 56]
}]
或者:
series: [{
data: [{
value: 23
symbolRepeat: ... // 只對此數(shù)據(jù)項生效
}, {
value: 56
symbolRepeat: ... // 只對此數(shù)據(jù)項生效
}]
}]
symbolRepeatDirection
指定圖形元素重復(fù)時,繪制的順序。這個屬性在兩種情況下有用處:
這個屬性的值可以是:'start' 或 'end'。
例子:
此屬性可以被設(shè)置在系列的 根部,表示對此系列中所有數(shù)據(jù)都生效;也可以被設(shè)置在 data 中的 每個數(shù)據(jù)項中,表示只對此數(shù)據(jù)項生效。
例如:
series: [{
symbolRepeatDirection: ... // 對 data 中所有數(shù)據(jù)項生效。
data: [23, 56]
}]
或者:
series: [{
data: [{
value: 23
symbolRepeatDirection: ... // 只對此數(shù)據(jù)項生效
}, {
value: 56
symbolRepeatDirection: ... // 只對此數(shù)據(jù)項生效
}]
}]
symbolMargin
圖形的兩邊間隔(『兩邊』是指其數(shù)值軸方向的兩邊)??梢允墙^對數(shù)值(如 20),或者百分比值(如 '-30%'),表示相對于自身尺寸 symbolSize 的百分比。只有當(dāng) symbolRepeat 被使用時有意義。
可以是正值,表示間隔大;也可以是負(fù)數(shù)。當(dāng) symbolRepeat 被使用時,負(fù)數(shù)時能使圖形重疊。
可以在其值結(jié)尾處加一個 "!",如 "30%!" 或 25!,表示第一個圖形的開始和最后一個圖形結(jié)尾留白,不緊貼邊界。默認(rèn)會緊貼邊界。
注意:
例子:
此屬性可以被設(shè)置在系列的根部,表示對此系列中所有數(shù)據(jù)都生效;也可以被設(shè)置在 data 中的 每個數(shù)據(jù)項中,表示只對此數(shù)據(jù)項生效。
例如:
series: [{
symbolMargin: ... // 對 data 中所有數(shù)據(jù)項生效。
data: [23, 56]
}]
或者:
series: [{
data: [{
value: 23
symbolMargin: ... // 只對此數(shù)據(jù)項生效
}, {
value: 56
symbolMargin: ... // 只對此數(shù)據(jù)項生效
}]
}]
symbolClip
是否剪裁圖形。
symbolClip 常在這種場景下使用:同時表達(dá)『總值』和『當(dāng)前數(shù)值』。在這種場景下,可以使用兩個系列,一個系列是完整的圖形,當(dāng)做『背景』來表達(dá)總數(shù)值,另一個系列是使用 symbolClip 進(jìn)行剪裁過的圖形,表達(dá)當(dāng)前數(shù)值。
例子:
在這個例子中:
此屬性可以被設(shè)置在系列的根部,表示對此系列中所有數(shù)據(jù)都生效;也可以被設(shè)置在 data 中的每個數(shù)據(jù)項中,表示只對此數(shù)據(jù)項生效。
例如:
series: [{
symbolClip: ... // 對 data 中所有數(shù)據(jù)項生效。
data: [23, 56]
}]
或者:
series: [{
data: [{
value: 23
symbolClip: ... // 只對此數(shù)據(jù)項生效
}, {
value: 56
symbolClip: ... // 只對此數(shù)據(jù)項生效
}]
}]
symbolBoundingData
這個屬性是『指定圖形界限的值』。它指定了一個 data,這個 data 映射在坐標(biāo)系上的位置,是圖形繪制的界限。也就是說,如果設(shè)置了 symbolBoundingData,圖形的尺寸則由 symbolBoundingData 決定。
當(dāng)柱子是水平的,symbolBoundingData 對應(yīng)到 x 軸上,當(dāng)柱子是豎直的,symbolBoundingData 對應(yīng)到 y 軸上。
規(guī)則:
在這些場景中,你可能會需要設(shè)置 symbolBoundingData:
symbolBoundingData 可以是一個數(shù)組,例如 [-40, 60],表示同時指定了正值的 symbolBoundingData 和負(fù)值的 symbolBoundingData。
此屬性可以被設(shè)置在系列的根部,表示對此系列中所有數(shù)據(jù)都生效;也可以被設(shè)置在 data 中的每個數(shù)據(jù)項中,表示只對此數(shù)據(jù)項生效。
參見如下示例:
例如:
series: [{
symbolBoundingData: ... // 對 data 中所有數(shù)據(jù)項生效。
data: [23, 56]
}]
或者:
series: [{
data: [{
value: 23
symbolBoundingData: ... // 只對此數(shù)據(jù)項生效
}, {
value: 56
symbolBoundingData: ... // 只對此數(shù)據(jù)項生效
}]
}]
symbolPatternSize
可以使用圖片作為圖形的 pattern。取值類型為 number,默認(rèn)為:400。
var textureImg = new Image();
textureImg.src = 'data:image/jpeg;base64,...'; // dataURI
// 或者
// textureImg.src = 'http://xxx.xxx.xxx/xx.png'; // URL
...
itemStyle: {
normal: {
color: {
image: textureImg,
repeat: 'repeat'
}
}
}
這時候,symbolPatternSize 指定了 pattern 的縮放尺寸。比如 symbolPatternSize 為 400 時表示圖片顯示為 400px * 400px 的尺寸。
例子:
此屬性可以被設(shè)置在系列的 根部,表示對此系列中所有數(shù)據(jù)都生效;也可以被設(shè)置在 data 中的 每個數(shù)據(jù)項中,表示只對此數(shù)據(jù)項生效。
例如:
series: [{
symbolPatternSize: ... // 對 data 中所有數(shù)據(jù)項生效。
data: [23, 56]
}]
或者:
series: [{
data: [{
value: 23
symbolPatternSize: ... // 只對此數(shù)據(jù)項生效
}, {
value: 56
symbolPatternSize: ... // 只對此數(shù)據(jù)項生效
}]
}]
encode
可以定義 data 的哪個維度被編碼成什么。比如:
series: {
type: 'xxx',
encode: {
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、1、2、3、4。
[12, 44, 55, 66, 2],
[23, 6, 16, 23, 1],
...
]
}
encode 支持的屬性,根據(jù)坐標(biāo)系不同而不同。 對于 直角坐標(biāo)系(cartesian2d),支持 x、y。 對于 極坐標(biāo)系(polar),支持 radius、angle。 對于 地理坐標(biāo)系(geo),支持 lng,lat。 此外,均支持 tooltip 和 label 和 itemName(用于指定 tooltip 中數(shù)據(jù)項名稱)。
當(dāng)使用 dimensions 給維度定義名稱后,encode 中可直接引用名稱,例如:
series: {
type: 'xxx',
dimensions: ['date', 'open', 'close', 'highest', 'lowest'],
encode: {
x: 'date',
y: ['open', 'close', 'highest', 'lowest']
},
data: [ ... ]
}
data[i]
系列中的數(shù)據(jù)內(nèi)容數(shù)組。數(shù)組項通常為具體的數(shù)據(jù)項。
通常來說,數(shù)據(jù)用一個二維數(shù)組表示。如下,每一列被稱為一個『維度』。
series: [{
data: [
// 維度X 維度Y 其他維度 ...
[ 3.4, 4.5, 15, 43],
[ 4.2, 2.3, 20, 91],
[ 10.8, 9.5, 30, 18],
[ 7.2, 8.8, 18, 57]
]
}]
特別地,當(dāng)只有一個軸為類目軸(axis.type 為 'category')的時候,數(shù)據(jù)可以簡化用一個一維數(shù)組表示。例如:
xAxis: {
data: ['a', 'b', 'm', 'n']
},
series: [{
// 與 xAxis.data 一一對應(yīng)。
data: [23, 44, 55, 19]
// 它其實是下面這種形式的簡化:
// data: [[0, 23], [1, 44], [2, 55], [3, 19]]
}]
『值』與 軸類型 的關(guān)系:
xAxis: {
type: 'category',
data: ['星期一', '星期二', '星期三', '星期四']
},
yAxis: {
type: 'category',
data: ['a', 'b', 'm', 'n', 'p', 'q']
},
series: [{
data: [
// xAxis yAxis
[ 0, 0, 2 ], // 意思是此點位于 xAxis: '星期一', yAxis: 'a'。
[ '星期四', 2, 1 ], // 意思是此點位于 xAxis: '星期四', yAxis: 'm'。
[ 2, 'p', 2 ], // 意思是此點位于 xAxis: '星期三', yAxis: 'p'。
[ 3, 3, 5 ]
]
}]
雙類目軸的示例可以參考 Github Punchcard 示例。當(dāng)需要對個別數(shù)據(jù)進(jìn)行個性化定義時:
數(shù)組項可用對象,其中的 value 像表示具體的數(shù)值,如:
[
12,
34,
{
value : 56,
//自定義標(biāo)簽樣式,僅對該數(shù)據(jù)項有效
label: {},
//自定義特殊 itemStyle,僅對該數(shù)據(jù)項有效
itemStyle:{}
},
10
]
// 或
[
[12, 33],
[34, 313],
{
value: [56, 44],
label: {},
itemStyle:{}
},
[10, 33]
]
空值:
當(dāng)某數(shù)據(jù)不存在時(ps:不存在不代表值為 0),可以用 '-' 或者 null 或者 undefined 或者 NaN 表示。
例如,無數(shù)據(jù)在折線圖中可表現(xiàn)為該點是斷開的,在其它圖中可表示為圖形不存在。
markPoint
圖表標(biāo)注。
markLine
圖表標(biāo)線。
markArea
圖表標(biāo)域,常用于標(biāo)記圖表中某個范圍的數(shù)據(jù),例如標(biāo)出某段時間投放了廣告。
zlevel
象形柱圖所有圖形的 zlevel 值。默認(rèn)為 0。
zlevel用于 Canvas 分層,不同zlevel值的圖形會放置在不同的 Canvas 中,Canvas 分層是一種常見的優(yōu)化手段。我們可以把一些圖形變化頻繁(例如有動畫)的組件設(shè)置成一個單獨的zlevel。需要注意的是過多的 Canvas 會引起內(nèi)存開銷的增大,在手機(jī)端上需要謹(jǐn)慎使用以防崩潰。
zlevel 大的 Canvas 會放在 zlevel 小的 Canvas 的上面。
z
象形柱圖組件的所有圖形的z值,默認(rèn)為2??刂茍D形的前后順序。z值小的圖形會被z值大的圖形覆蓋。
z相比zlevel優(yōu)先級更低,而且不會創(chuàng)建新的 Canvas。
silent
圖形是否不響應(yīng)和觸發(fā)鼠標(biāo)事件,默認(rèn)為 false,即響應(yīng)和觸發(fā)鼠標(biāo)事件。
animation
是否開啟動畫。默認(rèn)為 true
animationThreshold
是否開啟動畫的閾值,默認(rèn)為 2000,當(dāng)單個系列顯示的圖形數(shù)量大于這個閾值時會關(guān)閉動畫。
animationDuration
初始動畫的時長,默認(rèn)為1000,支持回調(diào)函數(shù),可以通過每個數(shù)據(jù)返回不同的 delay 時間實現(xiàn)更戲劇的初始動畫效果:
animationDuration: function (idx) {
// 越往后的數(shù)據(jù)延遲越大
return idx * 100;
}
animationEasing
初始動畫的緩動效果,默認(rèn)為 cubicOut。不同的緩動效果可以參考 緩動示例。
animationDurationUpdate
數(shù)據(jù)更新動畫的時長,默認(rèn)為 300。
支持回調(diào)函數(shù),可以通過每個數(shù)據(jù)返回不同的 delay 時間實現(xiàn)更戲劇的更新動畫效果:
animationDurationUpdate: function (idx) {
// 越往后的數(shù)據(jù)延遲越大
return idx * 100;
}
animationEasingUpdate
數(shù)據(jù)更新動畫的緩動效果,默認(rèn)為 cubicOut。
tooltip
本系列特定的 tooltip 設(shè)定。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: