首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ExtJS 6复位图可编程缩放

ExtJS 6复位图可编程缩放
EN

Stack Overflow用户
提问于 2017-09-05 11:39:21
回答 1查看 555关注 0票数 0

我如何能够重置缩放(显示整个图表)的简单线图编程?我在文档中找不到合适的方法。

我使用Ext.chart.interactions.CrossZoom如果它的元。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-05 14:30:58

undoZoom CrossZoom 班级中有一个无文档的班级方法。您可以这样使用它:

代码语言:javascript
复制
chart.getInteraction('crosszoom').undoZoom();

编辑

交叉缩放交互使历史缩放保持在zoomHistory属性中。undoZoom方法返回,一步一步/一次缩放,沿着缩放历史。

基于undoZoom方法,我创建了一个直接将图表重置为其初始缩放的resetZoom方法:

代码语言:javascript
复制
Ext.define(null, {
    override: 'Ext.chart.interactions.CrossZoom',

    resetZoom: function () {
        var zoomMap = this.zoomHistory[0],
            axes = this.getChart().getAxes();

        if (zoomMap) {
            for (var i = 0; i < axes.length; i++) {
                var axis = axes[i];
                if (zoomMap[axis.getId()]) {
                    axis.setVisibleRange(zoomMap[axis.getId()]);
                }
            }
        }
        this.getUndoButton().setDisabled(true);
        this.zoomHistory = [];
        this.sync();
    }
});

下面是一个有用的小提琴:https://fiddle.sencha.com/#view/editor&fiddle/264t

另一个编辑

正如@SergeyNovikov在注释中所指出的,正如您从undoZoom方法和resetZoom重写中可以看到的那样,这一切都归结为轴的setVisibleRange方法。因此,您也可以直接使用它与min/max值作为参数来重置缩放。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46054101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档