我是Highcharts图书馆的新手,需要创建一个水平漏斗。有一个现有的渠道:http://www.highcharts.com/demo/funnel但没有选项让它成为横向。我一直在阅读有关如何扩展高级图表的文档,但我不知道如何做到这一点。是否可以使用Highcharts创建这个水平漏斗?
答案 0 :(得分:0)
答案 1 :(得分:0)
它不是您发布的图片中的图表,但您可以从堆叠区域系列中获得倒金字塔/漏斗。
示例:http://jsfiddle.net/r9mtoec8/
$(function() {
var rawData = [7, 14, 16, 5, 4],
data = [
[0, 100]
],
overData = [
[0, 0]
],
underData = [
[0, 0]
],
zones = [],
len = rawData.length,
colors = Highcharts.getOptions().colors,
maxColor = colors.length,
i, val, sum = 0,
pos = 0;
for (i = 0; i < len; i++) {
sum += rawData[i];
}
for (i = 0; i < len; i++) {
pos += rawData[i];
val = (sum - pos) / sum * 100;
data.push([pos, val]);
overData.push([pos, (100 - val) / 2]);
underData.push([pos, (100 - val) / 2]);
zones.push({
value: pos,
color: colors[i % maxColor]
});
}
$('#container').highcharts({
chart: {
type: 'area'
},
yAxis: {
title: {
text: 'Percent'
}
},
plotOptions: {
area: {
enableMouseTracking: false,
showInLegend: false,
stacking: 'percent',
lineWidth: 0,
marker: {
enabled: false
}
}
},
series: [{
name: 'over',
color: 'none',
data: overData
}, {
id: 's1',
name: 'Series 1',
data: data,
showInLegend: true,
zoneAxis: 'x',
zones: zones
}, {
name: 'under',
color: 'none',
data: underData
}]
});
});
图片中的图表在Highcharts中是可行的,但您需要修改数据和图表的设置。虚线可以使用带有设置破折号样式的线条来完成。 示例:http://jsfiddle.net/r9mtoec8/22/