Apache ECharts 一个基于 JavaScript 的开源可视化图表库
echarts
- pyecharts 可以绘制地图
- echarts 支持显示 GEOJson 地图到 web
- 其他
使用
获取点击事件
myChart = echarts.init(....)
myChart.getZr().on('click', function(event) {
// 该监听器正在监听一个`zrender 事件`,当鼠标在任何地方都会被触发
});
myChart.on('click', function(event) {
// 该监听器正在监听一个`echarts 事件`,只有当鼠标在图形元素上时才能被触发
if (params.seriesType == 'scatter') {
console.log(params.data.name)
}
});
myChart.getZr().on('click', function(event) {
// 没有 target 意味着鼠标/指针不在任何一个图形元素上,它是从“空白处”触发的。
if (!event.target) {
// 点击在了空白处,做些什么。
}
});
说明:
- echarts 事件是在 zrender 事件的基础上实现的
- 当一个 zrender 事件在图形元素上被触发时,echarts 将触发一个 echarts 事件给开发者
F&Q
多层 geo 缩放、拖动卡顿问题
通过如下配置实现(参考):
let option = {
geo: [
{
animationDurationUpdate: 0, //实现缩放、拖动同步且不卡顿
重新渲染 series
const myChart = useRef<echarts.ECharts>({} as any)
...
myChart.setOption(chartOption,true);