使用ECharts柱狀圖標(biāo)線

2018-10-20 10:03 更新

 ECharts 使用 markLine 來(lái)設(shè)置柱狀圖標(biāo)線,本文是對(duì)柱狀圖標(biāo)線屬性的介紹。

series[i]-bar.markLine.silent   |   boolean 

[ default: false ]

設(shè)置柱狀圖標(biāo)線是否不響應(yīng)和觸發(fā)鼠標(biāo)事件,默認(rèn)為 false,即響應(yīng)和觸發(fā)鼠標(biāo)事件。

series[i]-bar.markLine.symbol   |   string, Array

柱狀圖標(biāo)線兩端的標(biāo)記類型,可以是一個(gè)數(shù)組分別指定兩端,也可以是單個(gè)統(tǒng)一指定,具體格式見(jiàn) data.symbol。

series[i]-bar.markLine.symbolSize   |   number, Array

標(biāo)線兩端的標(biāo)記大小,可以是一個(gè)數(shù)組分別指定兩端,也可以是單個(gè)統(tǒng)一指定。

注意: 這里無(wú)法像一般的 symbolSize 那樣通過(guò)數(shù)組分別指定高寬。

series[i]-bar.markLine.precision   |   number

[ default: 2 ]

標(biāo)線數(shù)值的精度,在顯示平均值線的時(shí)候有用。

series[i]-bar.markLine.label   |   Object

標(biāo)線的文本。

series[i]-bar.markLine.lineStyle   |   Object

標(biāo)線的樣式

series[i]-bar.markLine.data 

標(biāo)線的數(shù)據(jù)數(shù)組。每個(gè)數(shù)組項(xiàng)可以是一個(gè)兩個(gè)值的數(shù)組,分別表示線的起點(diǎn)和終點(diǎn),每一項(xiàng)是一個(gè)對(duì)象,有下面幾種方式指定起點(diǎn)或終點(diǎn)的位置。

  1. 通過(guò) x, y 屬性指定相對(duì)容器的屏幕坐標(biāo),單位像素,支持百分比。
  2. 用 coord 屬性指定數(shù)據(jù)在相應(yīng)坐標(biāo)系上的坐標(biāo)位置,單個(gè)維度支持設(shè)置 'min', 'max', 'average'。
  3. 直接用 type 屬性標(biāo)注系列中的最大值,最小值。這時(shí)候可以使用 valueIndex 或者 valueDim 指定是在哪個(gè)維度上的最大值、最小值、平均值。
  4. 如果是笛卡爾坐標(biāo)系的話,也可以通過(guò)只指定 xAxis 或者 yAxis 來(lái)實(shí)現(xiàn) X 軸或者 Y 軸為某值的標(biāo)線,見(jiàn)示例 scatter-weight

當(dāng)多個(gè)屬性同時(shí)存在時(shí),優(yōu)先級(jí)按上述的順序。

也可以是直接通過(guò) type 設(shè)置該標(biāo)線的類型,是最大值的線還是平均線。同樣的,這時(shí)候可以通過(guò)使用 valueIndex 指定維度。

data: [
    {
        name: '平均線',
        // 支持 'average', 'min', 'max'
        type: 'average'
    },
    {
        name: 'Y 軸值為 100 的水平線',
        yAxis: 100
    },
    [
        {
            // 起點(diǎn)和終點(diǎn)的項(xiàng)會(huì)共用一個(gè) name
            name: '最小值到最大值',
            type: 'min'
        },
        {
            type: 'max'
        }
    ],
    [
        {
            name: '兩個(gè)坐標(biāo)之間的標(biāo)線',
            coord: [10, 20]
        },
        {
            coord: [20, 30]
        }
    ], [{
        // 固定起點(diǎn)的 x 像素位置,用于模擬一條指向最大值的水平線
        yAxis: 'max',
        x: '90%'
    }, {
        type: 'max'
    }],
    [
        {
            name: '兩個(gè)屏幕坐標(biāo)之間的標(biāo)線',
            x: 100,
            y: 100
        },
        {
            x: 500,
            y: 200
        }
    ]
]

series[i]-bar.markLine.animation   |   boolean

[ default: true ]

是否開(kāi)啟動(dòng)畫(huà)。

series[i]-bar.markLine.animationThreshold   |   number

[ default: 2000 ]

是否開(kāi)啟動(dòng)畫(huà)的閾值,當(dāng)單個(gè)系列顯示的圖形數(shù)量大于這個(gè)閾值時(shí)會(huì)關(guān)閉動(dòng)畫(huà)。

series[i]-bar.markLine.animationDuration   |   number

[ default: 1000 ]

初始動(dòng)畫(huà)的時(shí)長(zhǎng),支持回調(diào)函數(shù),可以通過(guò)每個(gè)數(shù)據(jù)返回不同的 delay 時(shí)間實(shí)現(xiàn)更戲劇的初始動(dòng)畫(huà)效果:

animationDuration: function (idx) {
    // 越往后的數(shù)據(jù)延遲越大
    return idx * 100;
}

series[i]-bar.markLine.animationEasing   |   string

[ default: cubicOut ]

初始動(dòng)畫(huà)的緩動(dòng)效果。不同的緩動(dòng)效果可以參考 緩動(dòng)示例。

series[i]-bar.markLine.animationDelay   |   number, Function

[ default: 0 ]

初始動(dòng)畫(huà)的延遲,支持回調(diào)函數(shù),可以通過(guò)每個(gè)數(shù)據(jù)返回不同的 delay 時(shí)間實(shí)現(xiàn)更戲劇的初始動(dòng)畫(huà)效果。

如下示例:

animationDelay: function (idx) {
    // 越往后的數(shù)據(jù)延遲越大
    return idx * 100;
}

也可以看該示例

series[i]-bar.markLine.animationDurationUpdate   |   number, Function

[ default: 300 ]

數(shù)據(jù)更新動(dòng)畫(huà)的時(shí)長(zhǎng)。

支持回調(diào)函數(shù),可以通過(guò)每個(gè)數(shù)據(jù)返回不同的 delay 時(shí)間實(shí)現(xiàn)更戲劇的更新動(dòng)畫(huà)效果:

animationDurationUpdate: function (idx) {
    // 越往后的數(shù)據(jù)延遲越大
    return idx * 100;
}

series[i]-bar.markLine.animationEasingUpdate   |   string

[ default: cubicOut ]

數(shù)據(jù)更新動(dòng)畫(huà)的緩動(dòng)效果。

series[i]-bar.markLine.animationDelayUpdate   |   number, Function

[ default: 0 ]

數(shù)據(jù)更新動(dòng)畫(huà)的延遲,支持回調(diào)函數(shù),可以通過(guò)每個(gè)數(shù)據(jù)返回不同的 delay 時(shí)間實(shí)現(xiàn)更戲劇的更新動(dòng)畫(huà)效果。

如下示例:

animationDelayUpdate: function (idx) {
    // 越往后的數(shù)據(jù)延遲越大
    return idx * 100;
}

也可以看該示例

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)