我想在水平堆叠的条形图中绘制三个值,但是我不确定如何将demo here的堆叠性质与demo here中的迷你图结合起来。当我加载页面时,迷你图列中什么也没有显示。
$('[data-sparkline]').each(function(){
var data=$(this).data('sparkline').trim().split(',').map(Number);
$(this).highcharts('SparkLine', {
series: [{
data:data ,
type: "bar"
}],
plotOptions: {
series: {
stacking: normal
}
}
})
});
<tbody id="tbody-sparkline">
{% for x in data %}
<tr>
<td><a href="team/{{ x[0] }}">{{ x[0] }}</a></td>
<td>{{ x[1] }}</td>
<td>{{ '{0:0.2f}'.format(x[2]) }}</td>
<td>{{ '{0:0.2f}'.format(x[3]) }}</td>
<td>{{ '{0:0.2f}'.format(x[4]) }}</td>
<td>{{ '{0:0.2f}'.format(x[5]) }}</td>
<td data-sparkline="{{ '{0:0.2f}'.format(x[3]) }}, {{ '{0:0.2f}'.format(x[4]) }}, {{ '{0:0.2f}'.format(x[5]) }} "></td>
</tr>
{% endfor %}
</tbody>
任何帮助将不胜感激!
答案 0 :(得分:0)
我将介绍如何将他们的演示修改为带有堆积条的迷你图。它仍然只是“普通图表”,但必须进行一些修改。要堆叠,您需要支持多个系列。为此,请在示例中使用经过修改的<td>
:
<td data-sparkline="71, 78, 39, 66 ; 87, 44, 74, 41 ; 58, -10, 1, 16"/>
并更改了选项:
chart: {
type: 'bar',
// ...
},
plotOptions: {
series: {
stacking: 'normal',
// ...
}
}
经过修改的doChunk
,由于存在多个序列,因此将arr
转换为series
而不是data
,
function doChunk() {
var time = +new Date(),
i,
j,
len = $tds.length,
$td,
stringdata,
arr,
series,
chart;
console.log(series);
for (i = 0; i < len; i += 1) {
$td = $($tds[i]);
stringdata = $td.data('sparkline');
arr = stringdata.split('; ');
series = [];
for(j = 0; j < arr.length; j++) {
series.push({
data: $.map(arr[j].split(', '), parseFloat),
pointStart: 1
});
}
chart = {};
$td.highcharts('SparkLine', {
series: series,
tooltip: {
headerFormat: '<span style="font-size: 10px">' + $td.parent().find('th').html() + ', Q{point.x}:</span><br/>',
pointFormat: '<b>{point.y}.000</b> USD'
},
chart: chart
});
n += 1;
// If the process takes too much time, run a timeout to allow interaction with the browser
if (new Date() - time > 500) {
$tds.splice(0, i + 1);
setTimeout(doChunk, 0);
break;
}
// Print a feedback on the performance
if (n === fullLen) {
$('#result').html('Generated ' + fullLen + ' sparklines in ' + (new Date() - start) + ' ms');
}
}
}
请参见修改后的迷你图示例的this JSFiddle demo(请参见阿拉巴马州)。请注意,此示例格式不支持图表类型规范,因为它使用所有arr
进行序列处理。