ECharts實現曲線分段不同顏色顯示

實現曲線不同線段的不同樣色。如下圖

採用的visualMap實現的。具體代碼如下

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>ECharts</title>
    <!-- 引入 echarts.js -->
    <script src="./dist/echarts.min.js"></script>
    <style type="text/css">
        *{
        margin:0px;
        padding:0px;
        }
        
        html,body{
        height:100%;
        }
    
        </style>
</head>
<body style="height: 100%;">
    <!-- 爲ECharts準備一個具備大小(寬高)的Dom -->
    <div id="main" style="width: 80%;height:80%;top: 10%;left: 10%;  "></div>
</body>
<script type="text/javascript">
    // 基於準備好的dom,初始化echarts實例
    var myChart = echarts.init(document.getElementById('main'));
    // 指定圖表的配置項和數據
   
    var myColor = ['#eb2100', '#eb3600', '#d0570e', '#d0a00e', '#34da62', '#00e9db', '#00c0e9', '#0096f3', '#33CCFF', '#33FFCC'];
    var option = {
    xAxis: {
        type: 'category',
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
    },
    yAxis: {
        type: 'value'
    },
    visualMap: {
            top: 10,
            right: 10,
            pieces: [{
                gt: 600,
                lte: 900,
                color: '#096'
            }, {
                gt: 900,
                lte: 1200,
                color: '#ffde33'
            },
            {
                gt: 1200,
                lte: 1500,
                color: '#ff0000'
            }]
        },
    series: [{
        data: [820, 932, 901, 934, 1290, 1330, 1320],
        type: 'line',
        smooth: true
     }]
    };

    // 使用剛指定的配置項和數據顯示圖表。
    myChart.setOption(option);
    
   

</script>

</html>

官方文檔 https://www.echartsjs.com/zh/option.html#visualMap-piecewise

相關說明:

visualMap-piecewise. pieces

Array

自定義『分段式視覺映射組件(visualMapPiecewise)』的每一段的範圍,以及每一段的文字,以及每一段的特別的樣式。例如:

pieces: [
    {min: 1500}, // 不指定 max,表示 max 爲無限大(Infinity)。
    {min: 900, max: 1500},
    {min: 310, max: 1000},
    {min: 200, max: 300},
    {min: 10, max: 200, label: '10 到 200(自定義label)'},
    {value: 123, label: '123(自定義特殊顏色)', color: 'grey'}, // 表示 value 等於 123 的情況。
    {max: 5}     // 不指定 min,表示 min 爲無限大(-Infinity)。
]

或者,更精確得,可以使用 lt(小於,little than),gt(大於,greater than),lte(小於等於 lettle than or equals),gte(大於等於,greater than or equals)來表達邊界:

pieces: [
    {gt: 1500},            // (1500, Infinity]
    {gt: 900, lte: 1500},  // (900, 1500]
    {gt: 310, lte: 1000},  // (310, 1000]
    {gt: 200, lte: 300},   // (200, 300]
    {gt: 10, lte: 200, label: '10 到 200(自定義label)'},       // (10, 200]
    {value: 123, label: '123(自定義特殊顏色)', color: 'grey'},  // [123, 123]
    {lt: 5}                 // (-Infinity, 5)
]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章