在前面的例子中,我們使用了grid-直角坐標系網格,在 ECharts 3 中可以存在任意個 grid 組件。如下例我們構建兩個網格的圖表
option = {
title://標題組件,包含主標題和副標題。
{
text: 'eCharts圖表測試',
subtext: '兩個繪圖網格的測試',
left: 'center',
textStyle: {
fontWeight: 'bold',
}
},
grid: [
{
x: '7%', //左上角橫寬度
y: '20%',//左上角豎寬度
width: '38%',
},
{
x2: '7%',//右下角
y: '20%',//
width: '38%',
}],
xAxis: [
{
gridIndex: 0,//所在的 grid 的索引
data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
},
{
gridIndex: 1,//所在的 grid 的索引
data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']//類目數據
}],
yAxis: [
{
name: '銷售件數',//坐標軸名稱
gridIndex: 0, //所在的 grid 的索引
type: 'value'//坐標軸類型
},
{
name: '銷售額',
gridIndex: 1,
type: 'value',
}
],
series: [
{
xAxisIndex: 0,
yAxisIndex: 0,
type: 'line',//圖表類型
data: [15, 20, 36, 10, 10, 20, 20]
}, {
xAxisIndex: 1,
yAxisIndex: 1,
type: 'bar',
data: [115, 210, 326, 320, 120, 220, 20]
}
]
};
var myChart = echarts.init(document.getElementById('main'));//初始化一個 echarts 實例
myChart.setOption(option);// 使用剛指定的配置項和數據顯示圖表。


其中grid的x,y和x2,y2定義請參照上右圖. 本例中為防止圖表覆蓋標題,所以調整了grid的寬度和高度,line和bar可以這么做,但是如果是pie(餅圖)的話,就不能用grid來調整位置了,只能用pie自己的屬性來調整,例如我們將上面的折線圖改成餅圖后,我們的代碼需要這樣寫
option = {
title://標題組件,包含主標題和副標題。
{
text: 'eCharts圖表測試',
subtext: '兩個繪圖網格的測試',
left: 'center',
textStyle: {
fontWeight: 'bold',
}
},
grid: [
{
x: '7%',
y: '20%',
width: '38%',
},
{
x2: '7%',
y: '20%',
width: '38%',
}],
xAxis: [
{
gridIndex: 0,//所在的 grid 的索引
show: false,//不顯示x軸
data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
},
{
gridIndex: 1,//所在的 grid 的索引
data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']//類目數據
}],
yAxis: [
{
name: '銷售件數',//坐標軸名稱
show: false,//不顯示y軸
gridIndex: 0, //所在的 grid 的索引
type: 'value'//坐標軸類型
},
{
name: '銷售額',
gridIndex: 1,
type: 'value',
}
],
series: [
{
type: 'pie',//圖表類型
center: ['20%', '50%'],//餅圖的中心(圓心)坐標,數組的第一項是橫坐標,第二項是縱坐標
radius: [0, '55%'],//餅圖的半徑,數組的第一項是內半徑,第二項是外半徑
data: [
{value: 335, name: '直接訪問'},
{value: 310, name: '郵件營銷'},
{value: 234, name: '聯盟廣告'},
{value: 135, name: '視頻廣告'},
{value: 1548, name: '搜索引擎'}
]
},
{
xAxisIndex: 1,
yAxisIndex: 1,
type: 'bar',
data: [115, 210, 326, 320, 120, 220, 20]
}
]
};
var myChart = echarts.init(document.getElementById('main'));//初始化一個 echarts 實例
myChart.setOption(option);// 使用剛指定的配置項和數據顯示圖表。

坐標系除了直角坐標系以外,還有極坐標系,雷達圖坐標系和地理坐標系,下面是極坐標系,雷達圖坐標系的例子
option = {
title://標題組件,包含主標題和副標題。
{
text: 'eCharts圖表測試',
subtext: '兩種坐標系的測試',
left: 'center',
textStyle: {
fontWeight: 'bold',
}
},
polar: {
center: ['30%', '50%'],//極坐標系的中心(圓心)坐標,數組的第一項是橫坐標,第二項是縱坐標。
radius:'70%'
},
radiusAxis: {},
angleAxis: {
type: 'category',
polarIndex: 0,
data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'],
},
radar: {
center: ['75%', '50%'],
radius: '75%',
indicator: [
{name: '銷售', max: 6500},
{name: '管理', max: 16000},
{name: '信息', max: 30000},
{name: '客服', max: 38000},
{name: '研發', max: 52000},
{name: '市場', max: 25000}
]
},
series: [
{
type: 'scatter',
coordinateSystem: 'polar',
data: [115, 210, 326, 320, 120, 220, 20]
},
{
type: 'radar',
radarIndex: 0,
data: [{
value: [4300, 10000, 28000, 35000, 50000, 19000],
name: '預算分配(Allocated Budget)'
}]
}
]
};
var myChart = echarts.init(document.getElementById('main'));//初始化一個 echarts 實例
myChart.setOption(option);// 使用剛指定的配置項和數據顯示圖表。

