182 lines
4.6 KiB
JavaScript
182 lines
4.6 KiB
JavaScript
|
import * as echarts from '../../ec-canvas/echarts';
|
|||
|
|
|||
|
const app = getApp();
|
|||
|
|
|||
|
function initChart(canvas, width, height, dpr) {
|
|||
|
const chart = echarts.init(canvas, null, {
|
|||
|
width: width,
|
|||
|
height: height,
|
|||
|
devicePixelRatio: dpr // new
|
|||
|
});
|
|||
|
canvas.setChart(chart);
|
|||
|
var data = [];
|
|||
|
|
|||
|
for (var i = 0; i <= 360; i++) {
|
|||
|
var t = i / 180 * Math.PI;
|
|||
|
var r = Math.sin(2 * t) * Math.cos(2 * t);
|
|||
|
data.push([r, i]);
|
|||
|
}
|
|||
|
|
|||
|
var option = {
|
|||
|
title: {
|
|||
|
text: '2014年中国耕地质量',
|
|||
|
left: 'center',
|
|||
|
textStyle: {
|
|||
|
|
|||
|
color: '#1a1b4e',
|
|||
|
|
|||
|
fontStyle: 'normal',
|
|||
|
|
|||
|
fontSize: 24
|
|||
|
},
|
|||
|
subtext: '数据来源:国土资源部'
|
|||
|
},
|
|||
|
tooltip: {
|
|||
|
formatter: '{b}:<br />耕地面积: {c}万公顷'
|
|||
|
},
|
|||
|
series: [{
|
|||
|
name: '耕地等级',
|
|||
|
type: 'treemap',
|
|||
|
visibleMin: 100,
|
|||
|
itemStyle: {
|
|||
|
normal: {
|
|||
|
label: {
|
|||
|
show: true,
|
|||
|
formatter: "{b}"
|
|||
|
},
|
|||
|
borderWidth: 2
|
|||
|
},
|
|||
|
emphasis: {
|
|||
|
label: {
|
|||
|
show: true
|
|||
|
}
|
|||
|
}
|
|||
|
},
|
|||
|
label: {
|
|||
|
normal: {
|
|||
|
fontSize: 14
|
|||
|
}
|
|||
|
},
|
|||
|
data: [ // 注意,最外层是一个数组,而非从某个根节点开始。
|
|||
|
{
|
|||
|
value: 13509.74,
|
|||
|
children: [{
|
|||
|
value: 2389.25, // value字段的值,对应到面积大小。
|
|||
|
// 也可以是数组,如 [2323, 43, 55],则数组第一项对应到面积大小。
|
|||
|
// 数组其他项可以用于额外的视觉映射,详情参见 series-treemp.levels。
|
|||
|
id: 'someid-1', // id 不是必须设置的。
|
|||
|
// 但是如果想使用 API 来改变某个节点,需要用 id 来定位。
|
|||
|
name: '低等地 17.69%', // 显示在矩形中的描述文字。
|
|||
|
children: [{
|
|||
|
value: 1125.5,
|
|||
|
id: 'someid-31',
|
|||
|
name: '13等地',
|
|||
|
}, {
|
|||
|
value: 765.63,
|
|||
|
id: 'someid-32',
|
|||
|
name: '14等地',
|
|||
|
}, {
|
|||
|
value: 498.12,
|
|||
|
id: 'someid-33',
|
|||
|
name: '15等地',
|
|||
|
},],
|
|||
|
label: { // 此节点特殊的 label 定义(如果需要的话)。
|
|||
|
// ... // label的格式参见 series-treemap.label。
|
|||
|
},
|
|||
|
itemStyle: { // 此节点特殊的 itemStyle 定义(如果需要的话)。
|
|||
|
// ... // label的格式参见 series-treemap.itemStyle。
|
|||
|
}
|
|||
|
}, {
|
|||
|
value: 7138.52,
|
|||
|
id: 'someid-2',
|
|||
|
name: '中等地 52.84%',
|
|||
|
children: [{
|
|||
|
value: 1410.69,
|
|||
|
id: 'someid-31',
|
|||
|
name: '9等地',
|
|||
|
}, {
|
|||
|
value: 1790.55,
|
|||
|
id: 'someid-32',
|
|||
|
name: '10等地',
|
|||
|
}, {
|
|||
|
value: 2045.43,
|
|||
|
id: 'someid-33',
|
|||
|
name: '11等地',
|
|||
|
}, {
|
|||
|
value: 1891.85,
|
|||
|
id: 'someid-34',
|
|||
|
name: '12等地',
|
|||
|
},],
|
|||
|
|
|||
|
}, {
|
|||
|
value: 3584.6,
|
|||
|
id: 'someid-3',
|
|||
|
name: '高等地 26.53%',
|
|||
|
children: [{
|
|||
|
value: 366.48,
|
|||
|
id: 'someid-31',
|
|||
|
name: '5等地',
|
|||
|
}, {
|
|||
|
value: 886.22,
|
|||
|
id: 'someid-32',
|
|||
|
name: '6等地',
|
|||
|
}, {
|
|||
|
value: 1143.89,
|
|||
|
id: 'someid-33',
|
|||
|
name: '7等地',
|
|||
|
}, {
|
|||
|
value: 1188.01,
|
|||
|
id: 'someid-34',
|
|||
|
name: '8等地',
|
|||
|
},],
|
|||
|
|
|||
|
}, {
|
|||
|
value: 397.38,
|
|||
|
id: 'someid-4',
|
|||
|
name: '优等地 2.94%',
|
|||
|
children: [{
|
|||
|
value: 48.84,
|
|||
|
id: 'someid-31',
|
|||
|
name: '1等地',
|
|||
|
}, {
|
|||
|
value: 59.93,
|
|||
|
id: 'someid-32',
|
|||
|
name: '2等地',
|
|||
|
}, {
|
|||
|
value: 115.85,
|
|||
|
id: 'someid-33',
|
|||
|
name: '3等地',
|
|||
|
}, {
|
|||
|
value: 172.76,
|
|||
|
id: 'someid-34',
|
|||
|
name: '4等地',
|
|||
|
},],
|
|||
|
|
|||
|
}]
|
|||
|
},
|
|||
|
],
|
|||
|
leafDepth: 2
|
|||
|
}]
|
|||
|
};
|
|||
|
|
|||
|
chart.setOption(option);
|
|||
|
return chart;
|
|||
|
}
|
|||
|
|
|||
|
Page({
|
|||
|
onShareAppMessage: function (res) {
|
|||
|
return {
|
|||
|
title: 'ECharts 可以在微信小程序中使用啦!',
|
|||
|
path: '/pages/index/index',
|
|||
|
success: function () { },
|
|||
|
fail: function () { }
|
|||
|
}
|
|||
|
},
|
|||
|
data: {
|
|||
|
ec: {
|
|||
|
onInit: initChart
|
|||
|
}
|
|||
|
},
|
|||
|
|
|||
|
onReady() { }
|
|||
|
});
|