序文
- この記事では、折れ線グラフを実装する方法を学びます。
折れ線グラフの機能
- 折れ線グラフは、時間の経過に伴うデータの傾向を示すためによく使用されます
折れ線グラフの実装手順
- ECharts の最も基本的なコード構造
- X軸のデータを準備する
- Y軸のデータを準備する
- オプションを準備し、シリーズの 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>
<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>
var myCharts = echarts.init(document.getElementById('app'))
var xDataArr = ['张三', '李四', '王五', '闰土', '小明', '茅台', '球球']
var yDataArr = [88, 92, 63, 77, 94, 80, 72]
var option = {
xAxis: {
type: 'category',
data: xDataArr
},
yAxis: {
type: 'value'
},
series: [
{
type: 'line',
data: yDataArr
}
]
}
myCharts.setOption(option)
</script>
</body>
</html>
- 効果
折れ線グラフの一般的な効果
マーク
markPoint: {
data: [
{
type: 'max',
name: '最大值'
}, {
type: 'min',
name: '最小值'
}
]
}
markLine: {
data: [
{
type: 'average',
name: '平均值'
}
]
}
markArea: {
data: [
[{
xAxis: '2月'}, {
xAxis: '3月'}],
[{
xAxis: '8月'}, {
xAxis: '9月'}]
]
}
ライン制御
var option = {
series: [
{
......
smooth: true
}
]
}
var option = {
series: [
{
......
lineStyle: {
color: 'green',
type: 'dashed'
}
}
]
}
塗りつぶしスタイル
var option = {
series: [
{
type: 'line',
data: yDataArr,
areaStyle: {
color: 'pink'
}
}
]
}
端に近い
- borderGap: x 軸に設定されるため、開始点は x 軸の 0 座標から始まります。
var option = {
xAxis: {
type: 'category',
data: xDataArr,
boundaryGap: false
}
}
<!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>
<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>
var myCharts = echarts.init(document.getElementById('app'))
var xDataArr = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月',
'10月', '11月', '12月']
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]
var option = {
xAxis: {
type: 'category',
data: xDataArr,
boundaryGap: false
},
yAxis: {
type: 'value',
scale: true
},
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'
},
areaStyle: {
color: 'pink'
}
}
]
}
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>
<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>
var myCharts = echarts.init(document.getElementById('app'))
var xDataArr = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月',
'10月', '11月', '12月']
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]
var option = {
xAxis: {
type: 'category',
data: xDataArr,
boundaryGap: false
},
yAxis: {
type: 'value',
scale: true
},
series: [
{
type: 'line',
data: yDataArr1,
smooth: true,
}
]
}
myCharts.setOption(option)
</script>
</body>
</html>
- 効果
積み上げグラフ
- 積み上げグラフは、同じカテゴリ軸上の系列が同じスタック値で構成された後、後の系列の値が前の系列の値に追加されることを意味します。
var option = {
series: [
{
type: 'line',
data: yDataArr1,
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>
<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>
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',
areaStyle: {
color: 'pink'
}
},
{
type: 'line',
data: yDataArr2,
stack: 'all',
areaStyle: {
color: 'blue'
}
}
]
}
myCharts.setOption(option)
myCharts.setOption(option)
</script>
</body>
</html>