設(shè)置ECharts柱狀圖的文本標(biāo)簽

2018-10-19 11:06 更新

ECharts 柱狀圖的文本標(biāo)簽,可用于說(shuō)明圖形的一些數(shù)據(jù)信息,比如值,名稱等,label 選項(xiàng)在 ECharts 2.x 中放置于itemStyle.normal下,在 ECharts 3 中為了讓整個(gè)配置項(xiàng)結(jié)構(gòu)更扁平合理,label 被拿出來(lái)跟 itemStyle 平級(jí),并且跟 itemStyle 一樣擁有 normal 和 emphasis 兩個(gè)狀態(tài)。本節(jié)只對(duì) normal 狀態(tài)下的設(shè)置進(jìn)行講述,如果要使用 emphasis 狀態(tài)對(duì)柱狀圖文本標(biāo)簽進(jìn)行設(shè)置,您可以參考 normal 狀態(tài)實(shí)現(xiàn)設(shè)置。

series[i]-bar.label.normal

通過(guò) normal 狀態(tài)設(shè)置 ECharts 柱狀圖的文本標(biāo)簽。

series[i]-bar.label.normal.show 

[ default: false ]

是否顯示柱狀圖文本標(biāo)簽。值為 boolean 類型,默認(rèn)值為 false,即不顯示。

series[i]-bar.label.normal.position 

[ default: 'inside' ]

設(shè)置文本標(biāo)簽的位置。類型為 string 和 Array。

可選值列表如下:

  • [x, y]:通過(guò)相對(duì)的百分比或者絕對(duì)像素值表示標(biāo)簽相對(duì)于圖形包圍盒左上角的位置。 示例:
     // 絕對(duì)的像素值
      position: [10, 10],
      // 相對(duì)的百分比
      position: ['50%', '50%']
  • 'top'
  • 'left'
  • 'right'
  • 'bottom'
  • 'inside'
  • 'insideLeft'
  • 'insideRight'
  • 'insideTop'
  • 'insideBottom'
  • 'insideTopLeft'
  • 'insideBottomLeft'
  • 'insideTopRight'
  • 'insideBottomRight'

參見(jiàn):label position。

series[i]-bar.label.normal.distance

[ default: 5 ]

設(shè)置文本標(biāo)簽離柱狀圖元素的距離,值類型為 number,默認(rèn)值為 5。當(dāng) position 為字符描述值(如 'top'、'insideRight')時(shí)候有效。

參見(jiàn):label position。

series[i]-bar.label.normal.rotate

柱狀圖文本標(biāo)簽的旋轉(zhuǎn)角度,值類型為 number。從 -90 度到 90 度。正值是逆時(shí)針。

參見(jiàn):label rotation。

series[i]-bar.label.normal.offset 

是否對(duì)文本標(biāo)簽文字進(jìn)行偏移,值類型為 Array。默認(rèn)不偏移。例如:[30, 40] 表示文字在橫向上偏移 30,縱向上偏移 40。

series[i]-bar.label.normal.formatter

文本標(biāo)簽內(nèi)容格式器,支持字符串模板和回調(diào)函數(shù)兩種形式,字符串模板與回調(diào)函數(shù)返回的字符串均支持用 \n 換行。值類型為 string、Function。

字符串模板:

模板變量有 {a}、、{c},分別表示系列名,數(shù)據(jù)名,數(shù)據(jù)值。

示例:

formatter: ': {c}'

回調(diào)函數(shù):

回調(diào)函數(shù)格式:

(params: Object|Array) => string

參數(shù) params 是 formatter 需要的單個(gè)數(shù)據(jù)集。格式如下:

{
    componentType: 'series',
    // 系列類型
    seriesType: string,
    // 系列在傳入的 option.series 中的 index
    seriesIndex: number,
    // 系列名稱
    seriesName: string,
    // 數(shù)據(jù)名,類目名
    name: string,
    // 數(shù)據(jù)在傳入的 data 數(shù)組中的 index
    dataIndex: number,
    // 傳入的原始數(shù)據(jù)項(xiàng)
    data: Object,
    // 傳入的數(shù)據(jù)值
    value: number|Array,
    // 數(shù)據(jù)圖形的顏色
    color: string,

}

series[i]-bar.label.normal.color 

[ default: "#fff" ]

文本標(biāo)簽文字的顏色,值類型為 color。

如果設(shè)置為 'auto',則為視覺(jué)映射得到的顏色,如系列色。

series[i]-bar.label.normal.fontStyle 

[ default: 'normal' ]

文本標(biāo)簽文字字體的風(fēng)格。

值類型為 string,可選:

  • 'normal'
  • 'italic'
  • 'oblique'

series[i]-bar.label.normal.fontWeight

[ default: normal ]

柱狀圖文本標(biāo)簽文字字體的粗細(xì)

值類型為 string,可選:

  • 'normal'
  • 'bold'
  • 'bolder'
  • 'lighter'
  • 100 | 200 | 300 | 400...

series[i]-bar.label.normal.fontFamily

[ default: 'sans-serif' ]

文本標(biāo)簽文字的字體系列,值類型為 string。

還可以是 'serif' , 'monospace', 'Arial', 'Courier New', 'Microsoft YaHei', ...

series[i]-bar.label.normal.fontSize

[ default: 12 ]

文本標(biāo)簽文字的字體大小,值類型為 number。

series[i]-bar.label.normal.align

文本標(biāo)簽文字的水平對(duì)齊方式,默認(rèn)自動(dòng)。

值類型為 string,可選:

  • 'left'
  • 'center'
  • 'right'

rich 中如果沒(méi)有設(shè)置 align,則會(huì)取父層級(jí)的 align。例如:

{
    align: right,
    rich: {
        a: {
            // 沒(méi)有設(shè)置 `align`,則 `align` 為 right
        }
    }
}

series[i]-bar.label.normal.verticalAlign

文字垂直對(duì)齊方式,默認(rèn)自動(dòng)。

值類型為 string,可選:

  • 'top'
  • 'middle'
  • 'bottom'

rich 中如果沒(méi)有設(shè)置 verticalAlign,則會(huì)取父層級(jí)的 verticalAlign。例如:

{
    verticalAlign: bottom,
    rich: {
        a: {
            // 沒(méi)有設(shè)置 `verticalAlign`,則 `verticalAlign` 為 bottom
        }
    }
}

series[i]-bar.label.normal.lineHeight

柱狀圖文本標(biāo)簽的行高,值類型為 number。

rich 中如果沒(méi)有設(shè)置 lineHeight,則會(huì)取父層級(jí)的 lineHeight。例如:

{
    lineHeight: 56,
    rich: {
        a: {
            // 沒(méi)有設(shè)置 `lineHeight`,則 `lineHeight` 為 56
        }
    }
}

series[i]-bar.label.normal.backgroundColor 

[ default: 'transparent' ]

文字塊背景色,值類型為 string、Object。

可以是直接的顏色值,例如:'#123234', 'red', rgba(0,23,11,0.3)'。

可以支持使用圖片,例如:

backgroundColor: {
    image: 'xxx/xxx.png'
    // 這里可以是圖片的 URL,
    // 或者圖片的 dataURI,
    // 或者 HTMLImageElement 對(duì)象,
    // 或者 HTMLCanvasElement 對(duì)象。
}

當(dāng)使用圖片的時(shí)候,可以使用 width 或 height 指定高寬,也可以不指定自適應(yīng)。

如果設(shè)置為 'auto',則為視覺(jué)映射得到的顏色,如系列色。

series[i]-bar.label.normal.borderColor

[ default: 'transparent' ]

文字塊邊框顏色,值類型為 string。

如果設(shè)置為 'auto',則為視覺(jué)映射得到的顏色,如系列色。

series[i]-bar.label.normal.borderWidth 

[ default: 0 ]

文字塊邊框?qū)挾?,值類型?number。

series[i]-bar.label.normal.borderRadius 

[ default: 0 ]

文字塊的圓角,值類型為 number、Array。

series[i]-bar.label.normal.padding

[ default: 0 ]

文字塊的內(nèi)邊距,值類型為 number、Array。例如:

  • padding: [3, 4, 5, 6]:表示 [上, 右, 下, 左] 的邊距。
  • padding: 4:表示 padding: [4, 4, 4, 4]。
  • padding: [3, 4]:表示 padding: [3, 4, 3, 4]。

注意,文字塊的 width 和 height 指定的是內(nèi)容高寬,不包含 padding。

series[i]-bar.label.normal.shadowColor 

[ default: 'transparent' ]

文字塊的背景陰影顏色,值類型為 string。

series[i]-bar.label.normal.shadowBlur 

[ default: 0 ]

文字塊的背景陰影長(zhǎng)度,值類型為 number。

series[i]-bar.label.normal.shadowOffsetX 

[ default: 0 ]

文字塊的背景陰影 X 偏移,值類型為 number。

series[i]-bar.label.normal.shadowOffsetY

[ default: 0 ]

文字塊的背景陰影 Y 偏移,值類型為 number。

series[i]-bar.label.normal.width

文字塊的寬度,值類型為 number、string。一般不用指定,不指定則自動(dòng)是文字的寬度。在想做表格項(xiàng)或者使用圖片(參見(jiàn) backgroundColor)時(shí),可能會(huì)使用它。

注意,文字塊的 width 和 height 指定的是內(nèi)容高寬,不包含 padding。

width 也可以是百分比字符串,如 '100%'。表示的是所在文本塊的 contentWidth(即不包含文本塊的 padding)的百分之多少。之所以以 contentWidth 做基數(shù),因?yàn)槊總€(gè)文本片段只能基于 content box 布局。如果以 outerWidth 做基數(shù),則百分比的計(jì)算在實(shí)用中不具有意義,可能會(huì)超出。

注意,如果不定義 rich 屬性,則不能指定 width 和 height。

series[i]-bar.label.normal.height

文字塊的高度,值類型為 number、string。一般不用指定,不指定則自動(dòng)是文字的高度。在使用圖片(參見(jiàn) backgroundColor)時(shí),可能會(huì)使用它。

注意,文字塊的 width 和 height 指定的是內(nèi)容高寬,不包含 padding;如果不定義 rich 屬性,則不能指定 width 和 height。

series[i]-bar.label.normal.textBorderColor

[ default: 'transparent' ]

文字本身的描邊顏色,值類型為 string。

如果設(shè)置為 'auto',則為視覺(jué)映射得到的顏色,如系列色。

series[i]-bar.label.normal.textBorderWidth 

[ default: 0 ]

文字本身的描邊寬度,值類型為 number。

series[i]-bar.label.normal.textShadowColor 

[ default: 'transparent' ]

文字本身的陰影顏色,值類型為 string。

series[i]-bar.label.normal.textShadowBlur

[ default: 0 ]

文字本身的陰影長(zhǎng)度,值類型為 number。

series[i]-bar.label.normal.textShadowOffsetX

[ default: 0 ]

文字本身的陰影 X 偏移,值類型為 number。

series[i]-bar.label.normal.textShadowOffsetY

[ default: 0 ]

文字本身的陰影 Y 偏移,值類型為 number。

series[i]-bar.label.normal.rich 

在 rich 里面,可以自定義富文本樣式。利用富文本樣式,可以在標(biāo)簽中做出非常豐富的效果。

例如:

label: {
    normal: {

        // 在文本中,可以對(duì)部分文本采用 rich 中定義樣式。
        // 這里需要在文本中使用標(biāo)記符號(hào):
        // `{styleName|text content text content}` 標(biāo)記樣式名。
        // 注意,換行仍是使用 '\n'。
        formatter: [
            '{a|這段文本采用樣式a}',
            '{b|這段文本采用樣式b}這段用默認(rèn)樣式{x|這段用樣式x}'
        ].join('\n'),

        rich: {
            a: {
                color: 'red',
                lineHeight: 10
            },
            b: {
                backgroundColor: {
                    image: 'xxx/xxx.jpg'
                },
                height: 40
            },
            x: {
                fontSize: 18,
                fontFamily: 'Microsoft YaHei',
                borderColor: '#449933',
                borderRadius: 4
            },
            ...
        }
    }
}

詳情參見(jiàn)教程:富文本標(biāo)簽

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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)