28-ECharts の Vue-折れ線グラフ


序文

  • この記事では、折れ線グラフを実装する方法を学びます。

折れ線グラフの機能

  • 折れ線グラフは、時間の経過に伴うデータの傾向を示すためによく使用されます

折れ線グラフの実装手順

  1. ECharts の最も基本的なコード構造
  2. X軸のデータを準備する
  3. Y軸のデータを準備する
  4. オプションを準備し、シリーズの type の値を次のように設定します。
  • 完全なコード
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>ECharts-折线图</title>
    <!-- cdn方式 引入echarts.js文件 -->
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/echarts.min.js"></script>
</head>

<body>
<!-- 准备一个呈现图表的盒子 -->
<div id='app' style="width: 600px;height: 400px"></div>
<script>
    // 初始化echarts实例对象
    var myCharts = echarts.init(document.getElementById('app'))
    // 2.准备x轴数据
    var xDataArr = ['张三', '李四', '王五', '闰土', '小明', '茅台', '球球']
    // 3. 准备y轴数据
    var yDataArr = [88, 92, 63, 77, 94, 80, 72]
    // 4. 准备配置项
    var option = {
      
      
        xAxis: {
      
      
            type: 'category',
            data: xDataArr
        },
        yAxis: {
      
      
            type: 'value'
        },
        series: [
            {
      
      
                type: 'line',
                data: yDataArr
            }
        ]
    }
    // 步骤5:将配置项设置给echarts实例对象
    myCharts.setOption(option)
</script>
</body>

</html>
  • 効果
    ここに画像の説明を挿入します

折れ線グラフの一般的な効果

マーク
  • markPoint: 最大値/最小値
 markPoint: {
    
    
        data: [
              {
    
    
                  type: 'max',
                  name: '最大值'
              }, {
    
    
                  type: 'min',
                  name: '最小值'
              }
          ]
      }

ここに画像の説明を挿入します

  • マークライン: 平均
 markLine: {
    
    
        data: [
         {
    
    
            type: 'average',
            name: '平均值'
         }
       ]
     }

ここに画像の説明を挿入します

  • markArea: マーク間隔
markArea: {
    
     // 标注区间
      data: [
              [{
    
    xAxis: '2月'}, {
    
    xAxis: '3月'}],
              [{
    
    xAxis: '8月'}, {
    
    xAxis: '9月'}]
          ]
      }
ライン制御
  • スムーズ: 滑らかなライン
 var option = {
    
    
  series: [
   {
    
    
      ......
	smooth: true  // 平滑线条
   }
 ]
}

ここに画像の説明を挿入します

  • lineStyle: 線のスタイル
var option = {
    
    
  series: [
   {
    
    
      ......
      lineStyle: {
    
    
        color: 'green',   // 线条颜色
        type: 'dashed'   //可选值还有 dotted:虚线  solid:实线
     }
   }
 ]
}

ここに画像の説明を挿入します

塗りつぶしスタイル
  • areaStyle: 塗りつぶしスタイル
var option = {
    
    
  series: [
   {
    
    
      type: 'line',
      data: yDataArr,
      areaStyle: {
    
    
        color: 'pink'
     }
   }
 ]
}

ここに画像の説明を挿入します

端に近い
  • borderGap: x 軸に設定されるため、開始点は x 軸の 0 座標から始まります。
var option = {
    
    
  xAxis: {
    
    
    type: 'category',
    data: xDataArr,
    boundaryGap: false //  让起点从 x 轴的0坐标开始
 }
}

ここに画像の説明を挿入します

  • 完全なコード
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>ECharts-折线图</title>
    <!-- cdn方式 引入echarts.js文件 -->
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/echarts.min.js"></script>
</head>

<body>
<!-- 准备一个呈现图表的盒子 -->
<div id='app' style="width: 600px;height: 400px"></div>
<script>
    // 初始化echarts实例对象
    var myCharts = echarts.init(document.getElementById('app'))
    // 2.准备x轴数据
    var xDataArr = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月',
        '10月', '11月', '12月']
    // 3. 准备y轴数据
    var yDataArr = [3000, 2800, 900, 1000, 800, 700, 1400, 1300, 900, 1000, 800,
        600]
    var yDataArr1 = [3005, 3003, 3001, 3002, 3009, 3007, 3003, 3001, 3005,
        3004, 3001, 3009] // 此时y轴的数据都在3000附近, 每个数之间相差不多
    // 4. 准备配置项
    var option = {
      
      
        xAxis: {
      
      
            type: 'category',
            data: xDataArr,
            boundaryGap: false  //  让起点从 x 轴的0坐标开始
        },
        yAxis: {
      
      
            type: 'value',
            scale: true  //  让其摆脱0值比例
        },
        series: [
            {
      
      
                type: 'line',
                data: yDataArr,
                scale: true,
                markPoint: {
      
        // 最大值、最小值
                    data: [
                        {
      
      
                            type: 'max',
                            name: '最大值'
                        }, {
      
      
                            type: 'min',
                            name: '最小值'
                        }
                    ]
                },
                markLine: {
      
       // 平均值
                    data: [
                        {
      
      
                            type: 'average',
                            name: '平均值'
                        }
                    ]
                },
                markArea: {
      
       // 标注区间
                    data: [
                        [{
      
      xAxis: '2月'}, {
      
      xAxis: '3月'}],
                        [{
      
      xAxis: '8月'}, {
      
      xAxis: '9月'}]
                    ]
                },
                smooth: true,  // 平滑线条
                lineStyle: {
      
      
                    color: 'green',  // 线条颜色
                    type: 'dashed' // 可选值还有 dotted:虚线  solid:实线
                },
                areaStyle: {
      
        // 填充风格
                    color: 'pink'
                }
            }
        ]
    }
    // 步骤5:将配置项设置给echarts实例对象
    myCharts.setOption(option)
</script>
</body>

</html>
スケール、0値スケールから抜け出す
  • 各データセット間の差が小さく、0 よりはるかに大きい場合、これが発生する可能性があります。
  • スケール: y 軸用に設定する必要があります
var option = {
    
    
  yAxis: {
    
    
    type: 'value',
    scale: true
 }
}
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>ECharts-折线图</title>
    <!-- cdn方式 引入echarts.js文件 -->
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/echarts.min.js"></script>
</head>

<body>
<!-- 准备一个呈现图表的盒子 -->
<div id='app' style="width: 600px;height: 400px"></div>
<script>
    // 初始化echarts实例对象
    var myCharts = echarts.init(document.getElementById('app'))
    // 2.准备x轴数据
    var xDataArr = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月',
        '10月', '11月', '12月']
    // 3. 准备y轴数据
    var yDataArr = [3000, 2800, 900, 1000, 800, 700, 1400, 1300, 900, 1000, 800,
        600]
    var yDataArr1 = [3005, 3003, 3001, 3002, 3009, 3007, 3003, 3001, 3005,
        3004, 3001, 3009] // 此时y轴的数据都在3000附近, 每个数之间相差不多
    // 4. 准备配置项
    var option = {
      
      
        xAxis: {
      
      
            type: 'category',
            data: xDataArr,
            boundaryGap: false  //  让起点从 x 轴的0坐标开始
        },
        yAxis: {
      
      
            type: 'value',
            scale: true  //  让其摆脱0值比例
        },
        series: [
            {
      
      
                type: 'line',
                data: yDataArr1,
                smooth: true,  // 平滑线条
            }
        ]
    }
    // 步骤5:将配置项设置给echarts实例对象
    myCharts.setOption(option)
</script>
</body>

</html>
  • 効果
    ここに画像の説明を挿入します
積み上げグラフ
  • 積み上げグラフは、同じカテゴリ軸上の系列が同じスタック値で構成された後、後の系列の値が前の系列の値に追加されることを意味します。
var option = {
    
    
  series: [
   {
    
    
      type: 'line',
      data: yDataArr1,
      stack: 'all'  // series中的每一个对象配置相同的stack值, 这个all替换为任意值

   },
   {
    
    
      type: 'line',
      data: yDataArr2,
      stack: 'all' // 与上面保持一致即可
   }
 ]
}
  • 効果
    ここに画像の説明を挿入します
  • 完全なコード
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>ECharts-折线图</title>
    <!-- cdn方式 引入echarts.js文件 -->
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/echarts.min.js"></script>
</head>

<body>
<!-- 准备一个呈现图表的盒子 -->
<div id='app' style="width: 600px;height: 400px"></div>
<script>
    // 初始化echarts实例对象
    var myCharts = echarts.init(document.getElementById('app'))
    var xDataArr = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    var yDataArr1 = [120, 132, 101, 134, 90, 230, 210]
    var yDataArr2 = [20, 82, 191, 94, 290, 330, 310]
    //  准备配置项
    var option = {
      
      
        xAxis: {
      
      
            type: 'category',
            data: xDataArr
        },
        yAxis: {
      
      
            type: 'value',
            scale: true
        },
        series: [
            {
      
      
                type: 'line',
                data: yDataArr1,
                stack: 'all', // series中的每一个对象配置相同的stack值, 这个值可以任意写
                areaStyle: {
      
        // 填充风格
                    color: 'pink'
                }
            },
            {
      
      
                type: 'line',
                data: yDataArr2,
                stack: 'all',  // 与上面的保持一致
                areaStyle: {
      
      
                    color: 'blue'
                }
            }
        ]
    }
    myCharts.setOption(option)
    // 将配置项设置给echarts实例对象
    myCharts.setOption(option)
</script>
</body>

</html>

おすすめ

転載: blog.csdn.net/IT_heima/article/details/128288666