2

現在、棒グラフ内でデータを生成できないようです。障害が作成した JSON 文字列にあるのか、jQuery コードにあるのかはわかりません。

編集:(配列を単一の値に変更すると、基本的なグラフが生成されますが、まだバーはありません)

JSON 文字列:[{"Name":"Poll Results","Serie":[[10],[14],[14],[19]]}]

jQuery:

<script type="text/javascript">
//Enable JQuery IntelliSense for Visual Studio
///<reference path="jquery-1.3.2-vsdoc.js2 />

jQuery(document).ready(function () {
    urlDataJSON = '/Home/BarChartJSON';

    $.getJSON(urlDataJSON, "", function (data) {
        var dataLines = [];
        var dataLabels = "";
        $.each(data, function (entryindex, entry) {
            dataLines.push(entry['Serie']);
            dataLabels = dataLabels + entry['Name'];
        });

        Plot(dataLines, dataLabels);


        function Plot(dataLines, dataLabels) {

            options = {
                legend: { show: true },
                Title: 'Poll Results',                   
                seriesDefaults: {
                    renderer: $.jqplot.BarRenderer,
                    pointLabels: { show: true, location: 'e', edgeTolerance: -15 },
                    shadowAngle: 135,
                    renderOptions: {
                        barDirection: 'horizontal'
                    }
                },
                axes: {
                    yaxis: {
                        renderer: $.jqplot.CategoryAxisRenderer
                    }
                }
            }
        }
        var plot = $.jqplot('barChart', [dataLines], options);
    });
});

</script>

    <h2>barChart</h2>

<div id="barChart" style="height:600px;width:600px;"></div>

部分的に生成されたチャート スクリーンショットは、これまでに生成されたものを示しています。

4

1 に答える 1

0

コードにいくつかの問題があります。たとえば、これは必須ではありません。オプションはチャートに直接入る var である必要があります。

Plot(dataLines, dataLabels); function Plot(dataLines, dataLabels) {

あなたが持っていた以前のデータに対して私が行ったこのコードのサンプルをチェックしてください。

これJSONでも動作し、単一のシリーズのみが生成されます。

于 2012-05-10T10:37:56.953 に答える