獲取 ECharts
有4種方法,在Echarts官網的5分鐘上手Echarts有簡單且詳細說明。 如:1、從官網下載介面選擇你需要的版本下載
引入 ECharts
ECharts 3 開始不再強制使用 AMD 的方式按需引入,程式碼裡也不再內建 AMD 載入器。因此引入方式簡單了很多,只需要像普通的 JavaScript 庫一樣用 script 標籤引入。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<!-- 引入 ECharts 檔案 -->
<script src="echarts.min.js"></script>
</head>
</html>
複製程式碼
繪製一個簡單的圖表
在繪圖前我們需要為 ECharts 準備一個具備高寬的 DOM 容器。
<body>
<!-- 為 ECharts 準備一個具備大小(寬高)的 DOM -->
<div id="main" style="width: 600px;height:400px;"></div>
</body>
複製程式碼
然後就可以通過 echarts.init 方法初始化一個 echarts 例項並通過 setOption 方法生成一個簡單的柱狀圖,下面是完整程式碼。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ECharts</title>
<!-- 引入 echarts.js -->
<script src="echarts.min.js"></script>
</head>
<body>
<!-- 為ECharts準備一個具備大小(寬高)的Dom -->
<div id="main" style="width: 600px;height:400px;"></div>
<script type="text/javascript">
// 基於準備好的dom,初始化echarts例項
var myChart = echarts.init(document.getElementById('main'));
// 指定圖表的配置項和資料
var option = {
title: {
text: 'ECharts 入門示例'
},
tooltip: {},
legend: {
data:['銷量']
},
xAxis: {
data: ["襯衫","羊毛衫","雪紡衫","褲子","高跟鞋","襪子"]
},
yAxis: {},
series: [{
name: '銷量',
type: 'bar',
data: [5, 20, 36, 10, 10, 20]
}]
};
// 使用剛指定的配置項和資料顯示圖表。
myChart.setOption(option);
</script>
</body>
</html>
複製程式碼
這樣你的第一個圖表就誕生了!
你也可以直接進入 ECharts Gallery 中檢視編輯示例
以上是最簡單的配置,下面主要說一下常用的配置項
以折線圖為例子
直接先上程式碼,配置程式碼
var data = [["2000-06-05 1",116],["2000-06-05 8",196],["2000-06-05 10",1],["2000-06-06 10",129],["2000-06-07 10",135],["2000-06-08 10",86],["2000-06-09 10",73],["2000-06-10 5",85],["2000-06-10 6",185],["2000-06-10 7",5],["2000-06-11 10",73],["2000-06-12 10",68],["2000-06-13 10",92],["2000-06-14 10",130],["2000-06-15 10",245],["2000-06-16 10",139]];
var dateList = data.map(function (item) {
return item[0];
});
var valueList = data.map(function (item) {
return item[1];
});
option = {
title: {
left: 'center',
text: '健康關注指數',
subtext: '',
top: 0,
textStyle:{
color: '#07d2b8',
fontSize: 30,
fontWeight: 'bold',
}
},
grid: {
top: 110,
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross',
animation: false,
label: {
fontSize: 18,
backgroundColor: '#07d2b8',
borderColor: '#aaa',
borderWidth: 1,
shadowBlur: 0,
shadowOffsetX: 0,
shadowOffsetY: 0,
textStyle: {
color: '#fff'
}
}
},
},
xAxis: {
show: true,
data: dateList,
splitNumber : 7,
axisLabel:{
fontSize: 18,
// rotate: 20,
formatter: function (value, idx) {
var date = new Date(value);
// return idx === 0 ? value : [date.getMonth() + 1, date.getDate()].join('-')+ ` ` + date.getHours()
return idx === 0 ? value : value
}
},
boundaryGap: false,
name: '時間',
nameLocation: 'end',
nameTextStyle:{
color: '#333',
fontSize: 20,
fontWeight: 'bold',
},
},
yAxis: {
show: true,
splitLine: {show: false},
axisLabel:{
fontSize: 18,
},
name: '關注指數',
nameLocation: 'end',
nameTextStyle:{
color: '#333',
fontSize: 20,
fontWeight: 'bold',
},
nameGap: 60,
},
series: [{
type: 'line',
lineStyle: {
color: '#07d2b8',
width: 3,
},
itemStyle:{
color:'#fff',
borderColor :'#07d2b8',
borderWidth : 3,
},
label: {
normal: {
color: '#07d2b8',
fontSize: 20,
show: true,
position: 'top'
}
},
markPoint: {
symbol: 'roundRect',
symbolOffset: [0,-40],
data: [
{
type: 'max',
name: '最高值',
// value :'最高',
},
{
type: 'min',
name: '最低值',
// symbolOffset: [0,40],
},
],
label: {
normal: {
color: '#07d2b8',
fontSize: 20,
},
},
itemStyle:{
color:'#fff',
shadowColor :'#999',
shadowBlur: 1,
shadowOffsetX: 2,
shadowOffsetY: 2,
},
symbolSize: 55,
},
areaStyle: {
normal: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
offset: 0,
color: 'rgba(7, 210, 184, 0.8)'
}, {
offset: 1,
color: '#fff'
}])
}
},
symbolSize: 20,
hoverAnimation: false,
data: valueList
}]
};
// 基於準備好的dom,初始化echarts例項
var myChart = echarts.init(document.getElementById('tendencyChart'));
// 使用剛指定的配置項和資料顯示圖表。
myChart.setOption(option);
複製程式碼
效果圖:
常用配置項
title 標題設定/可不設定則不顯示 grid: 整體圖的偏移 tooltip: 提示框元件 xAxis: 座標軸X軸
- data: X軸顯示資料
- axisLabel:X軸下標文字的格式
- boundaryGap: 座標軸兩邊留白策略,類目軸和非類目軸的設定和表現不一樣。
- name: X軸名稱
- nameLocation: X軸名稱位置
yAxis:座標軸Y軸,其他配置同X軸一樣
- nameGap:Y軸名稱的偏移值
series:系列列表。每個系列通過 type 決定自己的圖表型別
- type: 'line', 折線圖圖表
- lineStyle: 折線圖的線的設定
- itemStyle: 折線拐點標誌的樣式
- label: 折線拐點文字設定
- markPoint:圖表標註,圖表標記。
- symbol: 'roundRect',標記的圖形。ECharts 提供的標記型別包括 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow'
- symbolOffset: 標記相對於原本位置的偏移
- data: 可以是標記最大值、最小值、某個座標、某個螢幕座標、固定X畫素位置等等
- label:標記文字設定
- itemStyle:標記的圖形的樣式設定
- symbolSize:標記圖形的大小
areaStyle:區域填充樣式。如區域漸變等 data:可以在這裡指定Y軸的資料。注意,如果系列沒有指定 data,並且 option 有 dataset,那麼預設使用第一個 dataset。如果指定了 data,則不會再使用 dataset。