javascript - 无法读取未定义的属性 'BarRenderer'

标签 javascript jquery asp.net-mvc jqplot

我正在尝试 jqplot 只是为了用于条形图,但无论我尝试什么示例,我都会在控制台中收到此错误:

“无法读取未定义的属性‘BarRenderer’”

我进行了谷歌搜索,但找不到太多关于此的内容,而且我不明白..任何帮助都会很棒。我正在使用 asp.net MVC 4

    @{
    ViewBag.Title = "View1";
}

<h2>View1</h2>

<script src="~/Scripts/jqPlot/jquery.min.js"></script>
<script src="~/Scripts/jqPlot/jquery.jqplot.min.js"></script>
<script src="~/Scripts/jqPlot/plugins/jqplot.barRenderer.min.js"></script>
<script src="~/Scripts/jqPlot/plugins/jqplot.categoryAxisRenderer.min.js"></script>
<script src="~/Scripts/jqPlot/plugins/jqplot.pointLabels.min.js"></script>
<link href="~/Scripts/jqPlot/jquery.jqplot.css" rel="stylesheet" type="text/css">


<div id="chart1" style="height:400px;width:300px; "></div>

<script>
    $(document).ready(function () {
        var s1 = [200, 600, 700, 1000];
        var s2 = [460, -210, 690, 820];
        var s3 = [-260, -440, 320, 200];
        // Can specify a custom tick Array.
        // Ticks should match up one for each y value (category) in the series.
        var ticks = ['May', 'June', 'July', 'August'];

        var plot1 = $.jqplot('chart1', [s1, s2, s3], {
            // The "seriesDefaults" option is an options object that will
            // be applied to all series in the chart.
            seriesDefaults: {
                renderer: $.jqplot.BarRenderer,
                rendererOptions: { fillToZero: true }
            },
            // Custom labels for the series are specified with the "label"
            // option on the series option.  Here a series option object
            // is specified for each series.
            series: [
                { label: 'Hotel' },
                { label: 'Event Regristration' },
                { label: 'Airfare' }
            ],
            // Show the legend and put it outside the grid, but inside the
            // plot container, shrinking the grid to accomodate the legend.
            // A value of "outside" would not shrink the grid and allow
            // the legend to overflow the container.
            legend: {
                show: true,
                placement: 'outsideGrid'
            },
            axes: {
                // Use a category axis on the x axis and use our custom ticks.
                xaxis: {
                    renderer: $.jqplot.CategoryAxisRenderer,
                    ticks: ticks
                },
                // Pad the y axis just a little so bars can get close to, but
                // not touch, the grid boundaries.  1.2 is the default padding.
                yaxis: {
                    pad: 1.05,
                    tickOptions: { formatString: '$%d' }
                }
            }
        });
    });
</script>

最佳答案

我重新创建了上面的代码片段,它工作得很好。您确定脚本顶部包含的所有文件都已上传到您的服务器吗?我可以复制您的错误的唯一方法是不将“jquery.jqplot.min.js”上传到我的服务器。

Uncaught TypeError: Cannot set property 'BarRenderer' of undefined(anonymous function) @ jqplot.barRenderer.min.js:57(anonymous function) @ jqplot.barRenderer.min.js:57

关于javascript - 无法读取未定义的属性 'BarRenderer',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30222833/

相关文章:

javascript - 从 page.evaluate 返回数组的奇怪行为

javascript - CryptoJS.enc.Base64.stringify() 和普通 Base64 加密的区别

javascript - $.ajaxComplete 和 $.ajaxError 的正确用法?

asp.net - 页面加载动画

javascript - 从 Jquery 模态窗口隐藏关闭按钮

asp.net - 无法将 ASP.NET Core Web 应用程序与 Application Insights 连接

asp.net-mvc - SEO 和迁移到 ASP.Net MVC

javascript - 验证字符串

asp.net-mvc - 在 MVC.NET 中测试 User.IsInRole

javascript - 覆盖传递给函数的对象