chart.getZr().on('click', (params: any) => { console.log(params); });获取到同一列上x轴的数据
时间: 2024-03-12 09:49:12 浏览: 14
要获取同一列上 x 轴的数据,可以通过 `params` 参数中的 `dataIndex` 属性获取当前点击的数据项的索引,然后通过 `echarts` 实例的 `getOption()` 方法获取当前图表的配置项。然后可以通过 `getOption().series` 属性获取所有系列的配置项,进而获取对应系列中该索引位置的数据,从而得到同一列上 x 轴的数据。具体实现可以参考下面的代码:
```javascript
chart.getZr().on('click', (params: any) => {
const dataIndex = params.dataIndex;
const option = chart.getOption();
const series = option.series;
const data = series.map((s: any) => s.data[dataIndex]);
console.log(data);
});
```
上面的代码中,`data` 变量即为同一列上 x 轴的数据。
相关问题
watch(() => [...props.component_infos], (newval:any, oldval) => { // leftimg_lists.value = { // commonComponentList: newval.filter(f => f.panel_class == 'common'), // drawComponentList: newval.filter(f => f.panel_class == 'draw'), // chartComponentList: newval.filter(f => f.panel_class == 'chart') // }; leftimg_lists.value = newval.forEach((item:any)=>{ if(item.child.length){ item.child.forEach((sItem:any)=>{ if(sItem.child.length){ sItem.child.forEach((iItem:any)=>{ iItem.create_type = "draggable" iItem.type= iItem.name iItem.title= iItem.name iItem.props= ['prop_data'] if (iItem.extendAttr) { iItem.extend_attr = JSON.parse(iItem.extendAttr) } }) } }) } }) console.log(newval,'newval'); console.log( leftimg_lists.value ,' leftimg_lists.value '); });
这段代码使用了Vue.js的watch API,当props.component_infos的值发生变化时,会执行回调函数。回调函数首先将props.component_infos转换为数组,然后根据panel_class属性将组件分类,并将结果存储在leftimg_lists.value对象中。
接下来,回调函数使用forEach()方法遍历props.component_infos数组,并对其进行修改。如果组件具有子组件,则将子组件的create_type、type、title和props属性设置为固定值,并从extendAttr属性中解析出extend_attr属性。
最后,回调函数打印出新的props.component_infos值和leftimg_lists.value值,用于调试和验证。
总的来说,这段代码是在Vue.js框架中,用于对props.component_infos属性进行监听,并在其发生变化时进行分类和修改。
this.chart.on('A', { seriesIndex: 0 }, params => { this.$ownerInstance.callMethod('onViewClick', { name: params.name, value: params.value, level: params.data && params.data.level, index: params.data && params.data.index }) }) this.chart.on("click",(event)=>{ this.$ownerInstance.callMethod('onViewClick', { text:"text", }) })
这段代码看起来是在使用某个图表库的 API 进行事件绑定。第一个事件绑定是在 'A' 事件上,当发生该事件时,会执行一个回调函数,其中会调用 this.$ownerInstance 的 callMethod 方法,并传递一个包含 name、value、level 和 index 属性的对象作为参数。第二个事件绑定是在 'click' 事件上,当发生该事件时,会执行一个回调函数,其中也会调用 this.$ownerInstance 的 callMethod 方法,并传递一个包含 text 属性的对象作为参数。具体的逻辑和实现可能需要结合上下文才能理解清楚。