我遇到了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 } }}
}));
});
有什么想法吗?我很难过(对我而言,这是一个自然状态......)
答案 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 } }}
}));