Grafik garis NVD3.js gagal menskalakan sumbu y ke nilai maks dan min

Membangun halaman dengan banyak grafik, saya memutuskan untuk menggunakan NVD3.

Masalahnya adalah NVD3 gagal menemukan nilai maksimum, sehingga membuat beberapa grafik tidak berguna.

http://jsfiddle.net/pxU8c/

function renderGraph(parent, data) {
    function getGraph(svgElement, data) {
        var height = 500;

        var chart = nv.models.lineChart()
        chart.options({
            noData: "Not enough data to graph",
            transitionDuration: 500,
            showLegend: true,
            showXAxis: true,
            showYAxis: true,
            rightAlignYAxis: false
        });

        chart.xAxis     //Chart x-axis settings
            .axisLabel(data['x-label'])
            .tickFormat(function(d) {
                return d3.time.format('%d.%m.%Y')(new Date(+d))
            });

        chart.yAxis     //Chart y-axis settings
            .axisLabel(data['y-label'])
            .tickFormat(d3.format('.02f'))
        ;

        svgElement    //Select the <svg> element you want to render the chart in.
            .datum(data['data'])         //Populate the <svg> element with chart data...
            .call(chart);          //Finally, render the chart!

        //Update the chart when window resizes.
        nv.utils.windowResize(function() { chart.update() });
        return chart;
    }
    var svgELement = d3.select('svg#chart_'+data['code']);
    nv.addGraph(getGraph(svgELement, data));
}

Saya juga menggunakan bootstrap Twitter untuk tata letak, jika itu membantu.

EDIT

biola berikut seharusnya lebih berguna karena mengandung lebih sedikit sampah http://jsfiddle.net/Bh578/

grafik pertama dan detik menampilkan masalah sementara grafik ketiga ditampilkan sesuai dengan harapan saya (yaitu Anda dapat melihat keseluruhan baris)

Saya juga telah menambahkan opsi useInteractiveGuideline: true sehingga lebih jelas bahwa ada nilai di luar area grafik yang terlihat yang juga ingin saya lihat pada grafik.


person rioted    schedule 29.05.2014    source sumber
comment
Apa maksudnya fails to find the maximum value , dengan melihat grafik sepertinya ada masalah dengan dataset Anda. Apa sebenarnya yang ingin Anda capai di sini??   -  person shabeer90    schedule 30.05.2014
comment
Hai @ shabeer90, fails to find the maximum value berarti kumpulan nilai pada sumbu y pada beberapa grafik jauh lebih kecil daripada grafik lainnya, tanpa sistem yang jelas bagi saya. Perilaku yang diharapkan adalah setiap kumpulan data akan menampilkan grafik yang seluruh garisnya terlihat, namun hal ini jelas tidak terjadi. Saya tidak tahu masalah kumpulan data apa yang harus dicari, bisakah Anda memberi saya beberapa petunjuk? Itu semua bilangan bulat, dengan pengetikan javascript yang lemah, merepresentasikannya sebagai string seharusnya tidak menjadi masalah, bukan? Terima kasih banyak   -  person rioted    schedule 30.05.2014
comment
Saya mengalami masalah serupa. NVD3 tidak menggunakan nilai Y terbesar untuk nilai sumbu maks. Sebaliknya, ia menggunakan nilai lain yang lebih kecil. Semua nilai saya adalah Fixnum (Fixnum adalah subkelas dari Integer). Ada ide?   -  person Mike    schedule 15.07.2014


Jawaban (1)


Nilai harus berupa bilangan bulat, bukan bilangan bulat JSON-decoded-as-string, maka nilai tersebut akan berfungsi dengan baik.

person rioted    schedule 04.06.2014
comment
Ini berfungsi dengan baik untuk saya, baru saja mengembalikan Number(d.y) untuk fungsi y saya. Menyelamatkan saya dari kesulitan menghitung maks Y setiap kali saya memperbarui grafik... Terima kasih! - person dinkydani; 07.04.2016