Highchart merge不会在xAxis中启用标签

时间:2014-11-19 12:47:37

标签: highcharts

我遇到了Highcharts的问题 - 我正在尝试使用现有图表,将其合并为一个新图表,更改一些属性然后显示它。

我遇到的问题是我似乎无法在复制的图表中启用xAxis标签。如果我在原始图表中打开它们,它们就存在于复制的图表中,但似乎无法改变启用状态。 JSFiddle如下:

http://jsfiddle.net/liamfl/a7xvfyg6/

代码如下:

var chart_PortfolioDetailsDistribution;
var popupChart;

$(document).ready(function () {
    chart_PortfolioDetailsDistribution = new Highcharts.Chart({
        chart:{animation:false,renderTo:'smallchart3'}
        ,title:{text:'Distribution'}
        ,tooltip:{headerFormat:'',pointFormat:'<b>{point.name}</b>: {point.y}'}
        ,legend:{enabled:false}
        ,credits:{enabled:false}
        ,plotOptions:{series:{animation:false,borderWidth:0,dataLabels:{format:'<b>{point.y}</b>'}
        ,groupPadding:0,pointPadding:0}
    }
    ,yAxis:{
        title:{text:null}
    }
    ,xAxis:{
        labels:{enabled:false,rotation:-90}
        ,title:{text:null}
        ,type:'category'
    }
    ,series:[{
        data:[['<-10%',0],['<-5%',3],['<-2.5%',3],['<-1%',2],['<0%',10],['>0%',3],['>1%',0],['>2.5%',0],['>5%',0],['>10%',0]],
        name:'Portfolio',
        type:'column'}]
    });

    popupChart = new Highcharts.Chart(Highcharts.merge(chart_PortfolioDetailsDistribution.options, {
            chart: { renderTo: 'smallchart4' },
            xAxis: { labels: { enabled: true }},
            legend: { enabled: true },
            plotOptions: { series: { dataLabels: { enabled: true } }}
        }));
});

有什么想法吗?我很难过(对我而言,这是一个自然状态......)

1 个答案:

答案 0 :(得分:4)

xAxis返回的

.options实际上是一个对象数组。因此,当您合并它时,您需要与数组合并。

http://jsfiddle.net/a7xvfyg6/1/

Highcharts.Chart(Highcharts.merge(chart_PortfolioDetailsDistribution.options, {
        chart: { renderTo: 'smallchart4' },
        xAxis: [{ labels: { enabled: true }}],
        legend: { enabled: true },
        plotOptions: { series: { dataLabels: { enabled: true } }}
    }));