使用4 yaxis时出错

时间:2012-04-03 18:17:04

标签: javascript jquery jqplot

我正在尝试创建一个包含4个唯一yaxis的图表。运行时,FireFox错误控制台会报告此错误:

ac.getTop is not a function
jquery.jqplot.min.js   line 57

如果不使用y3axis和y4axis,效果很好。

情节选项是:

var ChartSettings_Weather_Short = 
{
    title: '24-Hour Readings',
    grid:  { background: "#111111", borderColor: "#444444", gridLineColor: "#444444" },

    seriesColors: [ "#888888", "#888888", "#888888", "#888888" ],

    seriesDefaults: 
    {
        pointLabels:       { show: false          },
        pad:               0.5,
        markerOptions:     { show: false, size: 6 },
        useNegativeColors: false,
        shadow:            true,
        shadowDepth:       10,
        shadowAlpha:       0.9,
        shadowAngle:       45
    },          

    series:
    [
        {                  show:true,  renderer:$.jqplot.LineRenderer,  rendererOptions: { fillToZero:true },  markerOptions: { style:'dimaond' } }, 
        { yaxis:'y2axis',  show:true,  renderer:$.jqplot.LineRenderer,  rendererOptions: { fillToZero:true },  markerOptions: { style:'circle'  } }, 
        { yaxis:'y3axis',  show:true,  renderer:$.jqplot.LineRenderer,  rendererOptions: { fillToZero:true },  markerOptions: { style:'square'  } }, 
        { yaxis:'y4axis',  show:true,  renderer:$.jqplot.LineRenderer,  rendererOptions: { fillToZero:true },  markerOptions: { style:'x'       } }
    ],

    axesDefaults:
    {
        syncTicks:       true,
        useSeriesColor:  true, 
        autoscale:       true,
        renderer:        $.jqplot.LinearAxisRenderer,
        rendererOptions: { alignTicks: true },
        tickRenderer:    $.jqplot.CanvasAxisTickRenderer,
        tickOptions:     { fontFamily: 'Georgia',  fontSize: '10pt',  angle: 0 }
    },

    axes: 
    {
        xaxis:  { renderer: $.jqplot.CategoryAxisRenderer,  ticks: ChartData.WeatherHistory.Short.HorizontalTicks }
    },

    legend:
    {
        show:      false,
        location:  'sw',
        xoffset:   12,
        yoffset:   12
    },
    highlighter:{bringSeriesToFront:false}
};

和javascript包括:

<script language="javascript" type="text/javascript" src="javascript/json2.js"                         ></script>
<script language="javascript" type="text/javascript" src="javascript/excanvas.min.js"                  ></script>

<script language="javascript" type="text/javascript" src="javascript/jquery-1.7.1.min.js"              ></script>
<script language="javascript" type="text/javascript" src="javascript/jquery.jqplot.min.js"             ></script>

<script language="javascript" type="text/javascript" src="javascript/jqplot.json2.min.js"              ></script>
<script language="javascript" type="text/javascript" src="javascript/jqplot.barRenderer.min.js"        ></script>

<script language="javascript" type="text/javascript" src="javascript/jqplot.canvasTextRenderer.min.js"     ></script>
<script language="javascript" type="text/javascript" src="javascript/jqplot.canvasAxisTickRenderer.min.js" ></script>
<script language="javascript" type="text/javascript" src="javascript/jqplot.categoryAxisRenderer.min.js"   ></script>
<script language="javascript" type="text/javascript" src="javascript/jqplot.enhancedLegendRenderer.min"    ></script>
<script language="javascript" type="text/javascript" src="javascript/jqplot.pointLabels.min.js"            ></script>
<script language="javascript" type="text/javascript" src="javascript/jqplot.canvasAxisLabelRenderer.min.js"></script>

<script language="javascript" type="text/javascript" src="javascript/jqplot.highlighter.min.js">       </script>

用这个把头撞到墙上一段时间了。任何帮助非常感谢。

谢谢!

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。在我的例子中,我是单独设置轴参数而不​​是通过axesDefaults,而是y3轴失败。我可以通过不为这个轴指定tickRenderer来解决这个问题,此时一切正常。

我希望有所帮助。