1

グラフの描画には HighCharts プラグインを使用しています。しかし、いくつかの問題があります。チャートが空の場合、xAxis のみが表示され、yAxis は表示されません。チャートが空ではなく、チャートを描画するためのデータがある場合、yAxis が表示されます。この問題の解決策が見つかりません。

function drawChart(jsonData) {
    var rate = 20;
    var is3Axis = $("#sel_charttype").val() == "1";

    var options = {
        chart: {
            renderTo: 'chart',
            defaultSeriesType: 'line',
            margin: [50, 65, 50, 55],
            backgroundColor: '#fff'
        },
        title: null,
        xAxis: {
            categories: jsonData.timeTicks
        },
        tooltip: {
            enabled: true,
            formatter: function () {
                return '<b>' + this.series.name + '</b><br/>' +
                    this.x + ': ' + this.y;
            }
        },
        plotOptions: {
            line: {
                dataLabels: {
                    enabled: true,
                    style: {
                        fontSize: '13px'
                    },
                    x: 0,
                    y: -10
                },
                marker: {
                    symbol: 'circle'
                }
            }
        },
        legend: {
            layout: 'horizontal',
            align: 'right',
            verticalAlign: 'top',
            x: -10,
            y: 0,
            floating: false,
            shadow: false,
            borderWidth: 0,
            itemStyle: {
                fontSize: '11px'
            }
        },
        credits: {
            enabled: false
        }
    };

    if (is3Axis) {
        options.yAxis = [
            //primary axis
            {
                title: {
                    text: 'Amount'
                },
                gridLineColor: '#f1f1f1'
            },
            {
                gridLineWidth: 0,
                title: {
                    text: 'Total',
                    style: {
                        //color: '#89A54E'
                    }
                },
                opposite: true
            }
        ];
        options.series = jsonData.summary3AxisData;
    } else {
        // options.chart.margin[1] = 30;
        options.yAxis = {
            title: {
                text: ''
            },
            gridLineColor: '#f1f1f1'
        };
        options.series = jsonData.summaryData;
    }

    if (chart)
        $("#chart").html('');

    chart = new Highcharts.Chart(options);

    if (jsonData.url) {
        $("#chart .highcharts-container").css("cursor", "pointer").click(function () {
            window.open(jsonData.url, "_self");
        });
    }
}
4

2 に答える 2

1

showEmptyパラメータを使用できますが、シリーズが空の場合、目盛り/ラベルはデフォルトで表示されません。

于 2013-10-28T10:42:28.590 に答える