1

非常に基本的なデータのセットを使用して人力車の棒グラフを描画しようとしていますが、何らかの理由でシリーズ配列 (色: 文字列、データ: [{}]、名前: 文字列) を作成すると、次のエラーが発生します:

エラー: 属性 width="NaN" の値が無効です

グラフの棒ごとに作成された要素を見ると、実際に width=NaN になっています。

var json = '@Html.Raw(Json.Encode(Model))';
    var array = $.parseJSON(json);
    var dataArray = [];

    var palette = new Rickshaw.Color.Palette({ scheme: 'classic9' });

    for (var i = 0; i < array.length; i++) {
        dataArray.push( 
            {
                color: palette.color(),
                data: [{x: i, y: array[i].Value}],
                name: array[i].Key
            });
    }

    console.log(dataArray);

    var graph = new Rickshaw.Graph({
        element: document.querySelector("#chart"),
        renderer: 'bar',
        width: 420,
        height: 280,
        series: dataArray
    });

    graph.render();

<rect x="0" y="208.95816646947355" width="NaN" height="71.04183353052643" transform="matrix(1,0,0,1,0,0)" fill="#2f254a"></rect>
<rect x="0" y="168.32890323029957" width="NaN" height="40.6333259065763" transform="matrix(1,0,0,1,0,0)" fill="#491d37"></rect>
<rect x="0" y="133.60905003661946" width="NaN" height="34.71985319368011" transform="matrix(1,0,0,1,0,0)" fill="#7c2626"></rect>

ありがとう。

4

1 に答える 1

1

実際には人力車の既知の問題です。複数のデータ ポイントを持つ 1 つのシリーズは機能し、複数のデータ ポイントを持つ複数のシリーズは機能しますが、それぞれが 1 つのデータ ポイントしか持たない複数のシリーズは機能しません。これは私の場合でした。

それを解決するために、グラフの設計方法を変更しました。

ありがとう !

于 2013-12-19T10:41:05.477 に答える