在jqPlot中绘制垂直线时出错,其中X轴具有日期格式

时间:2014-06-02 20:01:44

标签: jqplot

我知道有类似的问题,他们似乎有类似的答案,我试图无济于事。

这是我的canvasOverlay

        canvasOverlay: {
            show: true,
            objects: [
                {verticalLine: {
                    x: new $.jsDate('May 29, 2014 7:58:55').getTime(),
                    lineWidth: 5,
                    color: 'rgb(0,198,0)',
                    shadow: false
                }}]}

(图表的日期范围在此时间之前10秒开始,之后结束50秒。)

这是我得到的错误:

[Error] TypeError: 'undefined' is not an object (evaluating 'ah._ctx')
    aa (jquery.jqplot.min.js, line 3)
    h (jquery.jqplot.min.js, line 3)
    dispatch (jquery.min.js, line 2)
    handle (jquery.min.js, line 2)
    trigger (jquery.min.js, line 2)
    (anonymous function) (jquery.min.js, line 3)
    each (jquery.min.js, line 2)
    each (jquery.min.js, line 2)
    trigger (jquery.min.js, line 3)
    onMouseMove (jquery.jqplot.min.js, line 3)
    dispatch (jquery.min.js, line 2)
    handle (jquery.min.js, line 2)

我注意到canvasOverly插件没有显示在跟踪中,这似乎很奇怪。我将它包含在主体中,浏览器调试器(Safari)确实报告它已被加载。如果我注释掉canvasOverlay元素,则错误不会显示。无论哪种方式,希望的垂直线都不会出现。

其余的情节规格并不是特别值得注意:

        dataRenderer: ajaxDataRenderer,
        dataRendererOptions: {
          unusedOptionalUrl: jsonurl
        },
        seriesDefaults: {
            lineWidth: 1.0,
            showMarker: false,
            yaxis: 'y2axis',
            showLabel: true
        },
        axes:{
            xaxis:{
                renderer:$.jqplot.DateAxisRenderer,
                tickOptions: { showLabel: true }
            },
            y2axis:{
                tickOptions: { formatString: "%7d" }
            }
        },
        legend: { show: true },

1 个答案:

答案 0 :(得分:0)

x定义中设置的canvasOverlay会起作用;但是,在代码的其他地方,它被覆盖了一个仍然是文本形式的日期。