1. 程式人生 > 實用技巧 >ECharts標題元件

ECharts標題元件

1.標題元件的基本使用

圖示元件使用title節點進行配置。

標題分為主標題和副標題,
主標題的文字內容使用 'text' 屬性進行設定
副標題使用 'subtext' 屬性進行設定

var option = {
    title:{ 
        text:"我是標題",
        subtext:"我是副標題"
    }
}

2.標題元件的位置

標題元件預設在左上角,可以像css一樣為其設定位置

left/right/top/bottom:分別設定標題元件位於4個方向的距離,值可以是數字(代表具體的畫素),百分比,關鍵字(水平居中使用center,垂直居中使用middle)

水平垂直居中

var option = {
        title: {
            text: "我是標題",
            subtext: "我是副標題",
            top:'middle',
            left:'center'
        }
    }

使用百分比

var option = {
        title: {
            text: "我是標題",
            subtext: "我是副標題",
            top:'50%',
            left:'50%'
        }
    }

使用數字(容器寬高600*300)

var option = {
        title: {
            text: "我是標題",
            subtext: "我是副標題",
            left:300,//按照當前容器寬高 相當於 50%
            top:150
        }
    }

3.多個標題元件

一個圖表可以有一個或多個標題元件,每個標題元件對應一個配置物件,當有多個標題元件時,使用陣列將其包裹起來,例如:

配置多個標題元件

var option = {
        title: [//含有多個標題元件時,使用陣列進行包裹
            {//每個元件就是一個物件
                text: "我是標題1",
                subtext: "我是副標題1",
                left: 150,
                top: 100
            },
            {//每個元件就是一個物件
                text: "我是標題2",
                subtext: "我是副標題2",
                left: 300,
                top: 150
            }
        ]
    }

4.顯示/隱藏標題元件

如果沒有配置標題元件,則該元件沒有顯示/隱藏的說法(都不存在,何來隱藏/顯示)
如果配置了標題元件,則該元件預設顯示。
如果配置了元件,但是某些情況下需要動態切換顯示/隱藏,就需要用到 'show' 屬性。

'show' 屬性的值是布林值,通過他來切換標題的元件的顯示/隱藏

 var option = {
        title: [//含有多個標題元件時,使用陣列進行包裹
            {//每個元件就是一個物件
                text: "我是標題1",
                subtext: "我是副標題1",
                left: 150,
                top: 100,
                show:true,//預設展示
            },
            {//每個元件就是一個物件
                text: "我是標題2",
                subtext: "我是副標題2",
                left: 300,
                top: 150,
                show:false,//預設隱藏
            }
        ]
    }

使用js動態切換標題元件的顯示/隱藏

<div class="btn_box">
    <button type="button" class="btn btn-primary" onclick="showTitle(0)">標題1切換顯示/隱藏</button>
    <button type="button" class="btn btn-primary" onclick="showTitle(1)">標題2切換顯示/隱藏</button>
</div>
function showTitle(index){
    //取反
    option.title[index].show = !option.title[index].show
    //更新圖表
    charts.setOption(option)
}

5.標題元件的盒模型?

標題元件和html的元素一樣,有背景色,內邊距,邊框,陰影等樣式可以設定,具體如下:

(1)背景色
backgroundColor:'red'

(2)內邊距
padding:10

(3)邊框系列
邊框大小:borderWidth
邊框顏色:borderColor
邊框圓角:borderRadius

(4)陰影系列
陰影的模糊大小:shadowBlur
陰影顏色:shadowColor
陰影偏移:shadowOffsetX/shadowOffsetY

var option = {
        title: [//含有多個標題元件時,使用陣列進行包裹
            {//每個元件就是一個物件
                text: "我是標題1",
                subtext: "我是副標題1",
                left: 150,
                top: 100,
                show:true,//預設展示
                backgroundColor:'red',//紅色背景
                padding:5,//內邊距
                borderWidth:5,//邊框寬度
                borderColor:'yellow',//邊框顏色
                borderRadius:1,//邊框圓角
                shadowBlur:1,//陰影大小
                shadowColor:'#666',//陰影顏色
                shadowOffsetX:1,//陰影偏移
                shadowOffsetY:1,//陰影偏移
            },
            {//每個元件就是一個物件
                text: "我是標題2",
                subtext: "我是副標題2",
                left: 300,
                top: 150,
                show:true,
                backgroundColor:'lightblue',//淺藍背景
                padding:20,//內邊距
                borderWidth:20,//邊框寬度
                borderColor:'orange',//邊框顏色
                borderRadius:5,//邊框圓角
                shadowBlur:20,//陰影大小
                shadowBlur:10,//陰影大小
                shadowColor:'#666',//陰影顏色
                shadowOffsetX:5,//陰影偏移
                shadowOffsetY:5,//陰影偏移
            }
        ]
    }

6.文字樣式

主標題的文字樣式(顏色,斜體,加粗,字型大小)都統一配置到textStyle這個物件中。
而副標題的文字樣式(顏色,斜體,加粗,字型大小)則統一配置到subtextStyle這個物件中。

PS:其實textStyle是一個通用的配置項,只要有文字的地方就可以對他進行配置,不僅僅侷限在某個元件或者某個節點中。

var option = {
        title: [//含有多個標題元件時,使用陣列進行包裹
            {//每個元件就是一個物件
                text: "我是標題1",
                subtext: "我是副標題1",
                left: 150,
                top: 100,
                textStyle:{//主標題文字樣式
                    color:'red',//字型顏色
                    fontSize:20,//字型大小
                    fontStyle:'italic',//斜體
                    fontWeight:500,//加粗
                }
            },
        ]
    }

7.元件層級

當多個標題疊加在一起時,預設情況下後面的元件會覆蓋前面的元件,如果想改變這種設定,可以配置 'z' 屬性(相當於css裡面的z-index),來改變圖形的前後順序

定位的位置一致時,預設的效果(藍色在後面,所以藍色蓋住了紅色)

var option = {
        title: [//含有多個標題元件時,使用陣列進行包裹
            {//每個元件就是一個物件
                text: "我是標題1",
                left: 150,//定位一致
                top: 100,//定位一致
                subtext: '我是副標題1',
                backgroundColor:'red',//紅
            },
            {//每個元件就是一個物件
                text: "我是標題2",
                left: 150,//定位一致
                top: 100,//定位一致
                subtext: '我是副標題2',
                backgroundColor:'blue',//藍
            },
        ]
    }

//改變 'z' 屬性(預設是2 建議設定時10起步)

var option = {
        title: [//含有多個標題元件時,使用陣列進行包裹
            {//每個元件就是一個物件
                text: "我是標題1",
                left: 150,//定位一致
                top: 100,//定位一致
                subtext: '我是副標題1',
                backgroundColor:'red',
                z:10,//設定層級
            },
            {//每個元件就是一個物件
                text: "我是標題2",
                left: 150,//定位一致
                top: 100,//定位一致
                subtext: '我是副標題2',
                backgroundColor:'blue',
            },
        ]
    }