smartmeter-app/echarts-for-weixin-master/pages/treemap/index.js

182 lines
4.6 KiB
JavaScript
Raw Normal View History

2023-12-05 16:45:28 +08:00
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() { }
});