1. 程式人生 > >echarts自定義legend圖例和tooltip預設提示文字

echarts自定義legend圖例和tooltip預設提示文字

1.legend圖例

先看效果圖:

lengend中有一個屬性formatter,是圖例的形式,用來格式化圖例文字。

formatter有兩種形式: 
- 模板 
- 回撥函式

示例:

// 使用字串模板,模板變數為圖例名稱 {name}
formatter: 'Legend {name}'
// 使用回撥函式
formatter: function (name) {
    return 'Legend ' + name;
}

實現最開始的效果圖程式碼:

var data1=[
                {value:335, name:'直接訪問'},
                {value:310, name:'郵件營銷'},
                {value:234, name:'聯盟廣告'},
                {value:135, name:'視訊廣告'},
                {value:1548, name:'搜尋引擎'}
            ]
var option = {
    tooltip: {
        trigger: 'item',
        formatter: "{a} <br/>{b}: {c} ({d}%)"
    },
    legend: {
        orient: 'vertical',
        x: 'left',
        formatter:  function(name){
                        var res = "";
                        for(var i=0;i<data1.length;i++) {
                           if (data1[i].name == name) {  
                            res=data1[i].value;
                           }
                        }
                        return name+'  '+res;
                    }
    },
    series: [
        {
            name:'訪問來源',
            type:'pie',
            radius: ['50%', '70%'],
            avoidLabelOverlap: false,
            label: {
                normal: {
                    show: false,
                    position: 'center'
                },
                emphasis: {
                    show: true,
                    textStyle: {
                        fontSize: '30',
                        fontWeight: 'bold'
                    }
                }
            },
            labelLine: {
                normal: {
                    show: false
                }
            },
            data:data1
        }
    ]
};

2. tooltip

效果圖:

tooltip.formatter提示框浮層內容格式器,支援字串模板和回撥函式兩種形式。

(1)字串模板

模板變數有 {a}{b}{c}{d}{e},分別表示系列名,資料名,資料值等。 在 trigger 為 'axis' 的時候,會有多個系列的資料,此時可以通過 {a0}{a1}{a2} 這種後面加索引的方式表示系列的索引。 不同圖表型別下的 {a}{b}{c}{d} 含義不一樣。 其中變數{a}{b}{c}{d}在不同圖表型別下代表資料含義為:

  • 折線(區域)圖、柱狀(條形)圖、K線圖 : {a}(系列名稱),{b}

    (類目值),{c}(數值), {d}(無)

  • 散點圖(氣泡)圖 : {a}(系列名稱),{b}(資料名稱),{c}(數值陣列), {d}(無)

  • 地圖 : {a}(系列名稱),{b}(區域名稱),{c}(合併數值), {d}(無)

  • 餅圖、儀表盤、漏斗圖: {a}(系列名稱),{b}(資料項名稱),{c}(數值), {d}(百分比)

示例:

formatter: '{b0}: {c0}<br />{b1}: {c1}'

(2) 回撥函式

回撥函式格式:

(params: Object|Array, ticket: string, callback: (ticket: string, html: string)) => string

第一個引數 params 是 formatter 需要的資料集。第二個引數 ticket 是非同步回撥標識,配合第三個引數 callback 使用。 第三個引數 callback 是非同步回撥,在提示框浮層內容是非同步獲取的時候,可以通過 callback 傳入上述的 ticket 和 html 更新提示框浮層內容。

示例:

formatter: function (params, ticket, callback) {
    $.get('detail?name=' + params.name, function (content) {
        callback(ticket, toHTML(content));
    });
    return 'Loading';
}

效果圖實現程式碼:

 tooltip: {
            trigger: 'item',
            formatter: function (params) {
                console.log(params);
                var res = "";
                var percentage = "";
                if (params.data.name == params.name) {
                    res = params.data.ranking;
                    percentage = params.data.percentage * 100;
                }
                return params.name + '<br>' + percentage + '%<br>' + '排名:' + res;
            }
        },

相關推薦

echarts定義legend圖例tooltip預設提示文字

1.legend圖例 先看效果圖: lengend中有一個屬性formatter,是圖例的形式,用來格式化圖例文字。 formatter有兩種形式:  - 模板  - 回撥函式 示例: // 使用字串模板,模板變數為圖例名稱 {name} formatter:

Echarts 定義legend圖片,修改點選之後的顏色圖解

第一個問題:echarts 可以自定義圖例的圖示,百度上很多回答都是引用的相對路徑,但是不知道為啥,我的vue專案就是引用不顯示,在network裡面找不到相應圖片 後來我想了個法子,就是先獲取到這個圖片,然後複製它的dataURL 也就是在網頁上解析之後的圖片路徑,就能正常顯示了——————至於原因,em

關於echarts定義legend顯示問題

echarts的legend的selected屬性預設都是true的,所以在echarts圖表中所有的資料都會顯示出來。 echarts的legend屬性將某個name設定為false時,那它預設的就不會顯示了,需要手動點選legend才會顯示 那這個屬性的設定需要通過下面

echarts定義節點名稱關係名稱

1、效果 echart自帶的效果如圖,滑鼠覆蓋到關係邊上時,預設顯示source > target。 修改之後可顯示自定義的任何內容。 2、程式碼 額……其實就是上一篇的程式碼,只不過多了一個tooltip,設定自定義顯示名稱就是在這裡

echarts定義圖表內字型顏色(座標軸字型顏色、圖例字型顏色)

最近接觸到一個大資料視覺化專案,需要用到echarts圖示,在使用中會需要對部分圖示或字型做自定義設定,這些設定雖然不是太難,設定方法也僅在官網上的配置文件中,但我還是想把它記錄下來,以便以後再次用到時能夠快捷的解決問題; echarts官網:http://echarts.baidu.com/

tomcat定義webapps目錄預設

嘗試使用tomcat自定義專案目錄webapps,只需要修改server.xml即可。修改內容如下: <Engine name="Catalina" defaultHost="tomcat1">#自定義hostname ... <Hos

定義服務 factory service

控制器 ctr div ava json對象 html src com 沒有 1、使用factory 方法 必須有返回值 即return ,factory只是調用普通的function,可以返回任何東西。 HTML 代碼 <body ng-app="myApp

php curl如何設置定義請求頭打印請求頭信息

設置 發出 cnblogs lose 請求 clas false 自定義 col $header = [ ‘client:h5‘, ‘token:test‘, ]; curlRequest($url, $params, true, 10, $header

iOS開發-AFNetworking封裝Get(定義HTTP Header)Post請求及文件下載

謝謝 filepath pos cat style -type poe repo eth 前面提到AFNetworking是一個很強大的網絡三方庫,首先你需要引入AFNetworking三方庫;如封裝的有誤還請指出,謝謝! 1.Get請求 /**Get請求 url 服務器

ASP.NET MVC下定義錯誤頁展示錯誤頁的幾種方式

提供服務 one url attribute 運行 16px execute 釋放 namespace 在網站運行中,錯誤是不可避免的,錯誤頁的產生也是不可缺少的。 這幾天看了博友的很多文章,自己想總結下我從中學到的和實際中配置的。 首先,需要知道產生錯誤頁的來源,一種

定義事件.trigger().triggerHandler()

microsoft ati 普通 影響 submit 返回值 程序 sof efi 自定義事件.trigger()和.triggerHandler()1 .trigger()根據綁定到匹配元素的給定的事件類型執行所有的處理程序和行為,除了能夠觸發瀏覽器事件,

Django 【第十篇】定義驗證規則中間件

表達式 主動 mixin tex choice direct request lock test 一、Form基本使用 類 字段 is_valid() cleaned_data errors 字段參數: m

Confluence 6 升級定義的站點空間布局

功能 也會 隨著 for cti 修改 頁面 nal 需要 隨著 Confluence 的演變。默認的站點和空間布局也會隨著 Confluence 升級而讓使用的所有頁面進行改變。隨著一些新功能的加入和一些老功能的修改,默認的布局也需要進行修改來支持這些改變。 如

Confluence 6 升級定義的站點空間應用你的定義布局

Confluence當你升級你的 Confluence 到其他一個主要的 Confluence 發行版本的時候,你需要手動應用你修改過的任何全局或者空間級別的布局。除非有特殊的聲明,針對一些非主要的 Confluence 升級,你的自定義修改應該是不需要重新應用上去的。什麽是主要版本,什麽是非主要版本?主要版

Confluence 6 升級定義的站點空間獲得你的定義布局

Confluence我們建議你在對站點進行布局修改的時候,你需要為你修改的 Confluence 站點或空間布局保留所有的修改記錄。如果沒有的話,你應該可以通過下面的辦法找到你的自定義修改。這個方法將會把你對全部網站和空間級別的修改以一個單一的輸出而表現出來。從這個輸出文件,你應該能找到你修改過的自定義文件。

Confluence 6 升級定義的站點空間關閉緩存

class step cit 編輯 code onf 定義 重新 isp Velocity 被配置在內存中使用緩存模板。當你在 Confluence 中編輯了頁面的模板文件,Confluence 知道文件進行了編輯,將會重新從磁盤中載入模板文件。如果你直接在 Conflue

Confluence 6 升級定義的站點空間仔細測試你的修改

空間 radi 應該 所有 自定義 ace enc 得到 display 修改可能對 Confluence 的後續版本不兼容,當你對 Confluence 進行升級的時候,你應該總是對你自定義修改的模板文件進行仔細的測試來確定所有的修改對新版本的 Confluence 兼容

Echarts定義圖表顯隱開關

class from data station AS 動態 option toc for 插入折線 // 插入折線 function appendLineToChart(name, data, zeroData) { var line = { n

Sublime text3 012 SublimeTmpl 定義變量 模板變量

=== AC 定義 action save 沒有 bin 定義變量 packages Sublime text3 012 SublimeTmpl 自定義變量 和 模板變量 ---------------------------------------------------

mysql的學習(七)-定義函數流程控制

returns spa 會員 返回 類型 mysq -- create decimal DELIMITER // (設置結束符 其實我也不太明白為啥要這樣 記住就行把) CREATE FUNCTION ym_date(mydate DATE) (創建函數