var s1 = "{ name : 'Space1', data :[5, 3, 4, 7] },";
var s2 = "{ name :'Space2', data:[5, 4, 7] },";
var s3 = "{ name : 'Space3', data:[5, 3, 7] }";
var series = s1+s2+s3;
var chartdata = {
chart: {
type: 'column'
},
title: {
text: 'Cost/Env'
},
xAxis: {
categories: ['Prod', 'Test', 'Dev', 'Sandbox']
},
yAxis: {
min: 0,
title: {
text: 'Cost of apps'
},
stackLabels: {
enabled: true,
style: {
fontWeight: 'bold',
color: (Highcharts.theme && Highcharts.theme.textColor) || 'gray'
}
}
},
legend: {
align: 'right',
x: -30,
verticalAlign: 'top',
y: 25,
floating: true,
backgroundColor: (Highcharts.theme && Highcharts.theme.background2) || 'white',
borderColor: '#CCC',
borderWidth: 1,
shadow: false
},
tooltip: {
formatter: function () {
return '<b>' + this.x + '</b><br/>' +
this.series.name + ': ' + this.y + '<br/>' +
'Total: ' + this.point.stackTotal;
}
},
plotOptions: {
column: {
stacking: 'normal',
dataLabels: {
enabled: true,
color: (Highcharts.theme && Highcharts.theme.dataLabelsColor) || 'white',
style: {
textShadow: '0 0 3px black'
}
}
}
},
series: [{}]
};
chartdata.series.data = series;
$('#stackedBar1').highcharts(chartdata);
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>
<div id="stackedBar1" style="display: inline; float: left; height: 300px; margin: 0px;"></div>
我使用Ko创建了一个仪表板,使用highcharts和JSON创建数据。我必须创建一个堆叠的条形聊天,其中每个类别的系列数据都在动态变化。示例cat1可能有3个系列对象,cat2可能有0,cat3可能有10等等…我有两个问题,1.如何将这种动态JSON对象包含到序列对象中。(我引用了链接,我得到了解决方案,我必须尝试一下(2.一旦我点击特定位置(颜色(的条形聊天,我必须显示详细信息,(我已经设计好了,目前显示在我的仪表板中,我需要切换到那个部分(。他们有什么信息可以处理这种情况吗。
提前感谢,shankar
1(您可以使用ajax加载json(例如$.getJSON(和加载数据。请不要认为数据需要采用正确的格式。
有关使用数据的更多信息,您可以在这里找到
2( 您可以使用工具提示格式化程序自定义内容并在悬停时打印。
关于点击事件,您可以通过point.events.click添加此操作,然后显示您的自定义弹出窗口/div等。