Plugins 插件中的选项更改被忽略

Plugins 插件中的选项更改被忽略,plugins,flot,Plugins,Flot,我正在尝试为flot创建一个插件,它将绘制穿过原点(0,0)的轴,而不是仅显示在绘图的边缘。我想做的一件事是,当使用我的插件时,常规轴(边缘的轴)的绘制应该被抑制。因此,我向一个函数添加了一些逻辑,该函数与processOptions挂钩,如下所示: plot.hooks.processOptions.push(processOptions); function processOptions(plot, options) { if (options.crossO

我正在尝试为flot创建一个插件,它将绘制穿过原点(0,0)的轴,而不是仅显示在绘图的边缘。我想做的一件事是,当使用我的插件时,常规轴(边缘的轴)的绘制应该被抑制。因此,我向一个函数添加了一些逻辑,该函数与processOptions挂钩,如下所示:

    plot.hooks.processOptions.push(processOptions);

    function processOptions(plot, options) {
        if (options.crossOrigin) {
            if (options.xaxis.crossOrigin) {
                options.xaxis.show = false;
                plot.hooks.drawBackground.push(drawXAxis);
            }
            if (options.yaxis.crossOrigin) {
                options.yaxis.show = false;
                plot.hooks.drawBackground.push(drawYAxis);
            }
        }
    }
通过将options.xaxis.show设置为false(yaxis也是如此),可以阻止轴出现,但它不起作用。该选项已设置,但flot在绘制图形时忽略它。使其不打印常规轴的唯一方法是在设置打印时显式设置“显示”选项

你知道为什么这样不行吗?有没有办法让它发挥作用


更新:因此,在玩了一段时间之后,我认为发生的是,例如,有一个options.xaxis和一个options.xaxes(数组),其中只包含一个条目。出于某种原因,flot希望在options.xaxes[0]中使用1轴,而不是options.xaxis。但我不太确定这里的逻辑应该是什么。它们都合并了我的自定义“crossOrigin”选项,但只有options.xaxis获得它的“show”属性集。

使用xaxes[0]而不是xaxis似乎可以解决问题,尽管不清楚flot何时以及如何处理这些内容