我使用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");
        });
    }
}

最佳答案

ShowEmpty应该工作,报告为here

解决方法很简单:始终使用至少一个系列,例如设置showInLegend: false,请参见:http://jsfiddle.net/3UPQF/

请注意,需要设置轴的最小值和最大值。

关于javascript - HighCharts插件JQuery,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19631997/

10-11 13:07