无法获取属性'renderer'的值:object为null或undefined:Jqplot

时间:2013-10-25 13:26:23

标签: jquery-plugins jqplot

我正在使用jqplot绘制饼图,条形图和折线图。它在IE9> =中工作正常。但它不适用于IE8。当我使用饼图和条形图时,它给出了上述错误。并且它在e.jqplot.PieRenderer'的piechart插件中显示错误。阻止此插件条形图工作正常但不是饼图。以下是我的代码。请在此建议。

var optionsObj = {
            title: 'Item wise stock',
            animate: !$.jqplot.use_excanvas,
            axes: {
                xaxis: {
                    renderer: $.jqplot.CategoryAxisRenderer,
                    ticks: dates,
                    label: 'Item'
                },
                yaxis: {
                    tickOptions: { showMark: true, formatString: "%d" },
                    padMin: 0,
                    label: 'Stock',
                    angle: -30,
                    labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
                    labelOptions: { fontSize: '11px' }
                }
            },

            grid: {
                drawGridLines: true,        // wether to draw lines across the grid or not.
                gridLineColor: '#cccccc',    // *Color of the grid lines.
                background: '#e6e6e6',      // CSS color spec for background color of grid.
                borderColor: '#999999',     // CSS color spec for border around grid.
                borderWidth: 2.0,           // pixel width of border around grid.
                shadow: true,               // draw a shadow for grid.
                shadowAngle: 45,            // angle of the shadow.  Clockwise from x axis.
                shadowOffset: 1.5,          // offset from the line of the shadow.
                shadowWidth: 3,             // width of the stroke for the shadow.
                shadowDepth: 3,             // Number of strokes to make when drawing shadow.
                // Each stroke offset by shadowOffset from the last.
                shadowAlpha: 0.07,           // Opacity of the shadow
                renderer: $.jqplot.CanvasGridRenderer,  // renderer to use to draw the grid.
                rendererOptions: {}         // options to pass to the renderer.  Note, the default
                // CanvasGridRenderer takes no additional options.
            },

            series: [
                { label: 'Bar', renderer: $.jqplot.BarRenderer },
                { label: 'Line', renderer: $.jqplot.LineRenderer, color: '#ef8c08' },
                ],

            legend: {
                show: true,
                location: 'ne'
            },
            seriesDefaults: {
                shadow: false,
                rendererOptions: {
                    barPadding: 0,
                    barMargin: 10,
                    barWidth: 25,
                    highlightMouseDown: true
                }
            },
            highlighter: {
                show: true,
                sizeAdjust: 7.5,
                tooltipContentEditor: function (str, seriesIndex, pointIndex, jqPlot) {

                    return '<table class="jqplot-highlighter"><tr><td>Item:</td><td>' + data[pointIndex][0].toString() + '</td></tr>  \
                     <tr><td>Stock:</td><td>' + data[pointIndex][1].toString() + '</td></tr></table>'

                }

            }
        };

        var plot2 = $.jqplot(location, values, optionsObj);

1 个答案:

答案 0 :(得分:1)

在您的html页面中包含此标记:

<script type='text/javascript' src="excanvas.js"></script>

IE8需要excanvas库来创建canvas元素,因为IE8不支持canvas元素。

您可以从此处下载js文件:Excanvas library