解決Echarts根據(jù)x軸值分段展示...的過程

最近還是在寫圖表需求涂召,遇到一個之前沒有搞過的場景麻捻,柱狀圖需要根據(jù)x軸的值分段展示數(shù)據(jù)矾屯,如圖兼蕊,x軸值10-3040-50问拘、60-70顯示不同的顏色

剛看到這個圖的時候一看就是分段展示遍略,看了半天文檔發(fā)現(xiàn)visualMap屬性可以實現(xiàn)分段展示,嘗試用了下:

...
 xAxis:  {
        type: 'category',
         axisTick: {
                alignWithLabel: true
        },
        data: ['10','20','30','40','50','60','70']
    },
    yAxis: {
        type: 'value',
    },
    visualMap: [
        { 
            type: 'piecewise',  // 分段型 
            pieces: [               // 自定義分段
               {
                gte: 10,   // 小于等于
                lte: 30,  // 大于等于
                color: '#096'
            }, {
                gte: 40,
                lte: 50,
                color: '#ffde33'
            }, {
                gte: 60,
                lte: 70,
                color: '#ff9933'
            },
            ]
        }
    ],
    series: [
          {
            name: '數(shù)據(jù)',
            type: 'bar',
            data: [330, 302, 301, 934, 1290, 330, 310]
         }
    ]
...

加上visualMap之后發(fā)現(xiàn)整個柱狀圖都不顯示了:


但是hover的時候發(fā)現(xiàn)數(shù)據(jù)還是展示的骤坐,當時就想既然有數(shù)值大小的比較绪杏,會不會分段這個值是根據(jù)y軸值分的,那么把分段的范圍改成y軸值的范圍纽绍,則:

...
 pieces: [
            {
                gte: 300,
                lte: 600,
                color: '#096'
            }, {
                gte: 600,
                lte: 900,
                color: '#ffde33'
            }, {
                gte: 1200,
                lte: 1500,
                color: '#ff9933'
            },
            ],
...

此時顯示為:


充分說明是根據(jù)y軸值而分段的蕾久,那么怎么讓他根據(jù)x軸值顯示呢,看了好久的文檔發(fā)現(xiàn)dimension屬性是可以設置根據(jù)x軸還是y軸分段拌夏,

...
 visualMap: {
            ...
            dimension:0,  // 1為y軸僧著,0為x軸
            ...

設置完了之后發(fā)現(xiàn)又不顯示了,試了好幾組數(shù)據(jù)都不行障簿,突然又想到如果x軸的數(shù)據(jù)為字符串盹愚,那么怎么比較大小呢?如果能用數(shù)字衡量的話站故,只有數(shù)組index了皆怕,所以就嘗試用下標當作數(shù)字來設置分段范圍:

...
 pieces: [
            {
                gte: 0,
                lte: 2,
                color: '#096'
            }, {
                gte: 3,
                lte: 4,
                color: '#ffde33'
            }, {
                gte: 5,
                lte: 6,
                color: '#ff9933'
            },
            ],
...

沒想到結果卻讓我覺得驚喜毅舆,真的是根據(jù)下標來顯示的:

image.png

雖然這個顯示好了,但是還有個問題就是愈腾,我需要顯示如下圖的legend值憋活,并且要和其他圖一樣,點擊每個title時要對該條柱狀圖進行顯示隱藏展示

此時series就一條數(shù)據(jù)虱黄,怎么顯示三個呢悦即?并且還需要點擊切換展示隱藏功能,查了很多文檔都沒有發(fā)現(xiàn)這樣的需求橱乱,準備放棄這個點的時候辜梳,突然遇到了堆疊圖,然后一波騷操作就想到了泳叠,如果這是三個堆在一起的柱狀圖冗美,想要哪個顏色的值的時候另外兩個不給顯示,即設為空字符串析二,那應該能實現(xiàn)這種問題叭,所以需要三個柱狀圖节预,三個數(shù)組叶摄,然后就嘗試了一下:

...
 legend: {
        data: ['第一段', '第二段','第三段']
  },
 series: [
        {
            name: '第一段',
            type: 'bar',
            stack: '總量',
            color:'#096',
            data: [330, 302, 301, '', '', '', '']
        },
         {
            name: '第二段',
            type: 'bar',
            stack: '總量',
            color:'#ffde33',
            data: ['', '', '', 934, 1290, '', '']
        },
        {
            name: '第三段',
            type: 'bar',
            stack: '總量',
            color:'#ff9933',
            data: ['', '', '', '', '', 330, 310]
        }
    ]
...

然后發(fā)現(xiàn)完全可以實現(xiàn)!剛開始只想著分段展示安拟,然后看visualMap怎么實現(xiàn)蛤吓,后面的小需求點怎么想也想不到,最后發(fā)現(xiàn)就是平時經(jīng)常用的堆疊圖就可以實現(xiàn)這個需求糠赦。

感覺雖然這是個小問題会傲,并且可能實現(xiàn)的方式?jīng)]有那么完美,但是通過這個事情發(fā)現(xiàn)拙泽,一個問題剛開始就把它想的復雜化淌山,可能還真沒那么容易實現(xiàn),如果肯換個角度考慮顾瞻,那可能只需要很簡單的方式就能實現(xiàn)泼疑。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市荷荤,隨后出現(xiàn)的幾起案子退渗,更是在濱河造成了極大的恐慌,老刑警劉巖蕴纳,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件会油,死亡現(xiàn)場離奇詭異,居然都是意外死亡古毛,警方通過查閱死者的電腦和手機翻翩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人体斩,你說我怎么就攤上這事梭稚。” “怎么了絮吵?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵弧烤,是天一觀的道長。 經(jīng)常有香客問我蹬敲,道長暇昂,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任伴嗡,我火速辦了婚禮急波,結果婚禮上,老公的妹妹穿的比我還像新娘瘪校。我一直安慰自己澄暮,他們只是感情好,可當我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布阱扬。 她就那樣靜靜地躺著泣懊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪麻惶。 梳的紋絲不亂的頭發(fā)上馍刮,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天,我揣著相機與錄音窃蹋,去河邊找鬼卡啰。 笑死,一個胖子當著我的面吹牛警没,可吹牛的內(nèi)容都是我干的匈辱。 我是一名探鬼主播,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼惠奸,長吁一口氣:“原來是場噩夢啊……” “哼梅誓!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起佛南,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤梗掰,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后嗅回,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體及穗,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年绵载,在試婚紗的時候發(fā)現(xiàn)自己被綠了埂陆。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片苛白。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖焚虱,靈堂內(nèi)的尸體忽然破棺而出购裙,到底是詐尸還是另有隱情,我是刑警寧澤鹃栽,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布躏率,位于F島的核電站,受9級特大地震影響民鼓,放射性物質(zhì)發(fā)生泄漏薇芝。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一丰嘉、第九天 我趴在偏房一處隱蔽的房頂上張望夯到。 院中可真熱鬧,春花似錦饮亏、人聲如沸耍贾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽逼争。三九已至,卻和暖如春劝赔,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背胆敞。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工着帽, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人移层。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓仍翰,卻偏偏與公主長得像,于是被迫代替她去往敵國和親观话。 傳聞我的和親對象是個殘疾皇子予借,可洞房花燭夜當晚...
    茶點故事閱讀 45,086評論 2 355

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

  • 發(fā)現(xiàn) 關注 消息 iOS 第三方庫、插件频蛔、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,109評論 4 62
  • 背景:老東家(日本人)由于經(jīng)營不善灵迫,企業(yè)面臨資金短缺,裁掉了很多人晦溪,而且瀑粥,還拖欠一個月的工資。從16年底三圆,老東家承...
    君子亮劍閱讀 246評論 0 0
  • 在使用AFNetworking時狞换,如果Url中包含空格避咆,文字,或者特殊字符時修噪,會崩潰: [AFJSONReques...
    代碼閱讀 1,761評論 0 1
  • 2018年1月13日傍晚查库,我接到了我以為是每天都會接到的家長咨詢電話,不用大腦考慮黄琼,都能猜到“我家孩子不愛學習”“...
    舒心工作室閱讀 501評論 0 5
  • 初見 遙遠 明亮 再見 有趣 無害 又見 溫暖 潤至心頭 以為遇見妥妥的依靠 然 回頭 卻不見
    燕蘊閱讀 143評論 2 1