echarts 折線圖,柱狀圖集一體的tooltip自定義顯示

又到了一波總結(jié)的時(shí)候了轩缤,今天我要總結(jié)的效果要這樣命迈,一個(gè)圖里要有折線圖,柱狀圖火的,然后還要有提示框壶愤,我這里面折線圖和柱狀圖所代表的都是相同的數(shù)據(jù),如果折線圖和柱狀圖同時(shí)存在馏鹤,那么提示框只取折線或柱狀圖里面的數(shù)據(jù)一種出來(lái)顯示征椒。最后我會(huì)提出gitHub地址


改造前.gif
改造后.gif

從上面我們可以看出來(lái),改造后的樣子滿足了我們的需求假瞬。
代碼如下

<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport"
          content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
    <title>Hello APP</title>
    <link rel="stylesheet" type="text/css" href="../css/api.css"/>
    <style>
        #demo {
            margin-top: 100px;
            width: 100%;
            height: 300px;
        }
    </style>
</head>
<body>
<div id="demo">

</div>
</body>
<script type="text/javascript" src="../script/api.js"></script>
<script type="text/javascript" src="../script/jquery-3.0.0.min.js"></script>
<script type="text/javascript" src="../script/echarts.min.js"></script>
<script type="text/javascript" src="../script/testData.js"></script>
<script type="text/javascript">
    $(function () {
        initLinexChart(data.salesQtyPart);
    });

    /**
     * @date:2018/5/4 13:44
     * 作者:GaoXiaoXiong
     * 功能: 初始化折線圖
     * @salesQtyPartList 集合參數(shù)
     */

    function initLinexChart(salesQtyPartList) {
        var listValue00 = [], listValue01 = [], listValue02 = [];
        var zheYearList = [], zhuYearList = [], totalYearList = [];//年份
        var isFirat = false;
        //從集合中取出value數(shù)據(jù)集
        for (var i = 0; i < salesQtyPartList.length; i++) {
            var sale = salesQtyPartList[i];
            for (var j = 0; j < sale.data.length; j++) {
                if (j == 0) {
                    listValue00.push(sale.data[j].value);
                } else if (j == 1) {
                    listValue01.push(sale.data[j].value);
                } else {
                    listValue02.push(sale.data[j].value);
                }
                if (!isFirat) {//填寫年份
                    if (j == sale.data.length - 1) {
                        isFirat = true;
                    }
                    zheYearList.push(sale.data[j].year + "折線圖");
                    zhuYearList.push(sale.data[j].year + "柱狀圖");
                }
            }
        }
        for (var i = 0; i < zheYearList.length; i++) {
            totalYearList.push(zheYearList[i]);
        }
        for (var i = 0; i < zhuYearList.length; i++) {
            totalYearList.push(zhuYearList[i]);
        }


        var dom  = document.getElementById("demo");
        var myChart = echarts.init(dom);
        var app = {};
        option = null;
        option = {
            tooltip: {//提示框組件
                trigger: 'axis',//坐標(biāo)軸觸發(fā)陕靠,主要在柱狀圖,折線圖等會(huì)使用類目軸的圖表中使用脱茉。只有設(shè)置了這個(gè)參數(shù)才會(huì)出現(xiàn)豎直的線條
                axisPointer: {            // 坐標(biāo)軸指示器剪芥,坐標(biāo)軸觸發(fā)有效
                    type: 'line'        //指示器類型。
                },
                formatter: function (params) {//提示框自定義
                    return formatterTip(params);
                },
            },
            toolbox: {
                show: false,
            },
            legend: {//這里定義了折線圖上面那2排的顏色琴许,顯示的樣子
                data: totalYearList,
                textStyle: {
                    color: "#92DCFB",
                }
            },
            color: [//定義了線條税肪,柱狀圖的顏色,顏色值的順序你要跟你上面的totalYearList存儲(chǔ)的順序要一直
                "#E9B943", "#BA674E", "#CD3E29",
                "#205397", "#479AE6", "#57C3FB"
            ],
            grid: {//定義折線圖距離左邊多少右邊多少上邊多少的距離
                left: '3%',
                right: '4%',
                bottom: '3%',
                top: '30%',
                containLabel: true //grid 區(qū)域是否包含坐標(biāo)軸的刻度標(biāo)簽榜田。如果不寫true益兄,那么縱坐標(biāo)的位置就不會(huì)算進(jìn)上面設(shè)置的坐邊右邊上邊下邊里面去
            },
            xAxis: [//定義X軸
                {
                    type: 'category',//設(shè)置X軸的類型
                    name: '月',
                    axisLabel: {//坐標(biāo)軸刻度標(biāo)簽的相關(guān)設(shè)置。
                        color: "#92DCFB",//設(shè)置顏色
                        fontSize: '12',//字體大小
                        interval: 1,//設(shè)置每個(gè)相鄰之間少1個(gè)數(shù)
                        rotate: 0,//刻度標(biāo)簽旋轉(zhuǎn)的角度
                    },
                    data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']//數(shù)據(jù)源
                }
            ],
            yAxis: [//定義y軸
                {
                    type: 'value',
                    name: '噸',
                    axisLabel: {//坐標(biāo)軸刻度標(biāo)簽的相關(guān)設(shè)置箭券。
                        color: "#92DCFB",
                        fontSize: '14',
                        interval: 0,
                    },
                    axisLine: {//坐標(biāo)軸顏色
                        lineStyle: {//坐標(biāo)軸顏色
                            color: "#92DCFB",
                        },
                    },
                },
            ],
            series: [//系列列表净捅。每個(gè)系列通過(guò) type 決定自己的圖表類型
                {
                    name: zheYearList[0],//數(shù)據(jù)項(xiàng)名稱。如果不寫這個(gè)那么上面的2排里面就會(huì)少一個(gè)
                    type: 'line',//設(shè)置為折線圖
                    data: listValue00,
                    showAllSymbol: true,//示折線圖上所有小標(biāo)簽
                    symbolSize: 5,//標(biāo)記的大小
                },
                {
                    name: zheYearList[1],//數(shù)據(jù)項(xiàng)名稱辩块。
                    type: 'line',
                    data: listValue01,
                    showAllSymbol: true,//示折線圖上所有小標(biāo)簽
                    symbolSize: 5,//標(biāo)記的大小
                },
                {
                    name: zheYearList[2],//數(shù)據(jù)項(xiàng)名稱蛔六。
                    type: 'line',
                    data: listValue02,
                    showAllSymbol: true,//示折線圖上所有小標(biāo)簽
                    symbolSize: 5,//標(biāo)記的大小
                },
                {
                    name: zhuYearList[0],
                    type: 'bar',//設(shè)置為柱狀圖
                    data: listValue00,
                    tooltip: {
                        formatter: function (datas) {
                            return "";
                        }
                    }
                },
                {
                    name: zhuYearList[1],
                    type: 'bar',
                    data: listValue01,
                },
                {
                    name: zhuYearList[2],
                    type: 'bar',
                    data: listValue02,
                }
            ]
        };

        if (option && typeof option === "object") {
            myChart.setOption(option, true);
        }
    }

    /**
     * @date:2018/5/9 17:38
     * 作者:GaoXiaoXiong
     * 功能: 控制提示框的樣式
     */
    function formatterTip(params) {
        //移除重復(fù)的數(shù)據(jù)
        for (var i = 0; i < params.length; i++) {
            for (var j = params.length - 1; j > i; j--) {
                if (params[j].data == params[i].data) {
                    params.splice(j, 1);
                    break;
                }
            }
        }

        var tip = '';
        for (var i = 0; i < params.length; i++) {//這里是自己定義樣式, params[i].marker 表示是否顯示左邊的那個(gè)小圓圈
            if (params[i].value != 0) {
                tip = tip + params[i].marker + params[i].seriesName.substring(0, 4) + '年' + ':' + params[i].value + '<br/>';
            }
        }

        return tip;
    }

</script>
</html>
一些參數(shù)的說(shuō)明:

tooltip:提示框組件
trigger: 'axis'設(shè)置這個(gè)后會(huì)有豎直的線出來(lái)
axisPointer: { type: 'line' }指示器類型
formatter: function (params) {return formatterTip(params);}//提示框自定義
legend:里面可以定義折線圖上面那2排的顏色废亭,顯示的樣子
color:定義了線條国章,柱狀圖的顏色,顏色值的順序你要跟你上面的totalYearList存儲(chǔ)的順序要一直
grid:設(shè)置折線圖距離上下左右的距離
containLabel:是否將縱坐標(biāo)的值也納入grid設(shè)置的里面計(jì)算
xAxis:這里面可以定義X軸
interval://設(shè)置每個(gè)相鄰之間少XXXXX個(gè)數(shù)
rotate:文字旋轉(zhuǎn)角度
series: 要顯示的樣例表豆村,通過(guò)設(shè)置type等來(lái)控制是否顯示圖標(biāo)液兽,樣式等。
showAllSymbol:示折線圖上所有小標(biāo)簽

gitHub地址:https://github.com/caocao123/earchStudy02

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末掌动,一起剝皮案震驚了整個(gè)濱河市四啰,隨后出現(xiàn)的幾起案子宁玫,更是在濱河造成了極大的恐慌,老刑警劉巖柑晒,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件撬统,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡敦迄,警方通過(guò)查閱死者的電腦和手機(jī)恋追,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)罚屋,“玉大人苦囱,你說(shuō)我怎么就攤上這事∑⒚停” “怎么了撕彤?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)猛拴。 經(jīng)常有香客問(wèn)我羹铅,道長(zhǎng),這世上最難降的妖魔是什么愉昆? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任职员,我火速辦了婚禮,結(jié)果婚禮上跛溉,老公的妹妹穿的比我還像新娘焊切。我一直安慰自己,他們只是感情好芳室,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布专肪。 她就那樣靜靜地躺著,像睡著了一般堪侯。 火紅的嫁衣襯著肌膚如雪嚎尤。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天伍宦,我揣著相機(jī)與錄音芽死,去河邊找鬼。 笑死雹拄,一個(gè)胖子當(dāng)著我的面吹牛收奔,可吹牛的內(nèi)容都是我干的掌呜。 我是一名探鬼主播滓玖,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼质蕉!你這毒婦竟也來(lái)了势篡?” 一聲冷哼從身側(cè)響起翩肌,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎禁悠,沒(méi)想到半個(gè)月后念祭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡碍侦,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年粱坤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瓷产。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡站玄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出濒旦,到底是詐尸還是另有隱情株旷,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布尔邓,位于F島的核電站晾剖,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏梯嗽。R本人自食惡果不足惜齿尽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望灯节。 院中可真熱鬧雕什,春花似錦、人聲如沸显晶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)磷雇。三九已至偿警,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間唯笙,已是汗流浹背螟蒸。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留崩掘,地道東北人七嫌。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像苞慢,于是被迫代替她去往敵國(guó)和親诵原。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 太長(zhǎng)了,還是轉(zhuǎn)載吧...今天在看博客的時(shí)候绍赛,無(wú)意中發(fā)現(xiàn)了@Trinea在GitHub上的一個(gè)項(xiàng)目Android開源...
    龐哈哈哈12138閱讀 20,154評(píng)論 3 283
  • 夜正半蔓纠,人忽醒。 雜事忙亂心不靜吗蚌。 輾轉(zhuǎn)難眠夢(mèng)難成腿倚, 窗外朦朧月無(wú)影。
    暗香盈袖_08d6閱讀 237評(píng)論 0 0
  • 幸福原來(lái)這么簡(jiǎn)單 陶紀(jì)洋 “踮起腳尖蚯妇,我們就能離幸福更近一點(diǎn)嗎敷燎?” 現(xiàn)時(shí)至盛夏,梧桐樹卻開始落葉箩言,正當(dāng)我準(zhǔn)備感嘆一...
    簡(jiǎn)約語(yǔ)文閱讀 379評(píng)論 0 1
  • 【作者】秦觀【朝代】宋代 醉漾輕舟懈叹, 信流引到花深處。 塵緣相誤分扎。 無(wú)計(jì)花間住澄成。 煙水茫茫, 千里斜陽(yáng)暮畏吓。 山無(wú)數(shù)...
    bca4efa9a942閱讀 376評(píng)論 0 0
  • 2018年5月2日 日精進(jìn) 今日體驗(yàn)墨状,兩天游玩已經(jīng)結(jié)束,今天上午體驗(yàn)了世界之最天津之眼菲饼,下午媚河垂釣肾砂,鍛煉毅力...
    凌勝亮閱讀 192評(píng)論 0 0