二十三.3d图表
在日常项目中使用3d图表的情况比较少,但是毫无疑问这是一个数据可视化的趋势。echarts目前示例中包括地球、柱状图、散点图、曲面、地图、路径图和折线图。
$.get(
ROOT_PATH + '/data/asset/data/life-expectancy-table.json',
function (data) {
option = {
grid3D: {},
tooltip: {},
xAxis3D: {
type: 'category'
},
yAxis3D: {
type: 'category'
},
zAxis3D: {},
visualMap: {
max: 1e8,
dimension: 'Population'
},
dataset: {
dimensions: [
'Income',
'Life Expectancy',
'Population',
'Country',
{ name: 'Year', type: 'ordinal' }
],
source: data
},
series: [
{
type: 'bar3D',
// symbolSize: symbolSize,
shading: 'lambert',
encode: {
x: 'Year',
y: 'Country',
z: 'Life Expectancy',
tooltip: [0, 1, 2, 3, 4]
}
}
]
};
myChart.setOption(option);
}
);
- 以上面的3d柱状图为例,在配置项中多了z轴,数据的维度也增加了。同理还有3d散点图、3d折线图。
- 三维曲面图在连续曲面上跨两维显示数值的趋势。曲面图中的颜色代表数值间的差别。配置与上面的很类似
- 地球、3d地图个人感觉没有很实用,3d路径图感觉是原来二维迁徙图的升级版,但是配置还是有挺大区别的。
myChart.setOption({
geo3D: {
map: 'world',
shading: 'realistic',
silent: true,
environment: '#333',
realisticMaterial: {
roughness: 0.8,
metalness: 0
},
postEffect: {
enable: true
},
groundPlane: {
show: false
},
light: {
main: {
intensity: 1,
alpha: 30
},
ambient: {
intensity: 0
}
},
viewControl: {
distance: 70,
alpha: 89,
panMouseButton: 'left',
rotateMouseButton: 'right'
},
itemStyle: {
color: '#000'
},
regionHeight: 0.5
},
series: [
{
type: 'lines3D',
coordinateSystem: 'geo3D',
effect: {
show: true,
trailWidth: 1,
trailOpacity: 0.5,
trailLength: 0.2,
constantSpeed: 5
},
blendMode: 'lighter',
lineStyle: {
width: 0.2,
opacity: 0.05
},
data: routes //数据还是经纬度
}
]
});