此输入适用于highcharts:
data1 = [[2, 3, 3.5, 4], [1, 1.5, 2, 3]]
但是这不是:
data2 = [[2, 3, 3.5, 4, 4.5], [1, 1.5, 2, 3]]
这里唯一的区别是,在第一项中,还有一个数据点。为什么高图无法从中制作箱形图?我认为所有它需要生成一个箱形图,如中位数,四分位数,最小值和最大值都在第二个数据集中。
这是我的代码:
dt = [
[760, 801, 848, 895, 930],
[733, 853, 939, 980, 1080],
[714, 762, 817, 870, 918],
[724, 802, 806, 871, 950],
[834, 836, 864, 882, 910]
];
Highcharts.chart('boxcontainer', {
chart: {
type: 'boxplot'
},
title: {
text: 'Highcharts box plot styling'
},
legend: {
enabled: false
},
xAxis: {
categories: ['1', '2', '3', '4', '5'],
title: {
text: 'Experiment No.'
}
},
yAxis: {
title: {
text: 'Observations'
}
},
plotOptions: {
boxplot: {
fillColor: '#F0F0E0',
lineWidth: 2,
medianColor: '#0C5DA5',
medianWidth: 3,
stemColor: '#A63400',
stemDashStyle: 'dot',
stemWidth: 1,
whiskerColor: '#3D9200',
whiskerLength: '20%',
whiskerWidth: 3
}
},
series: [{
name: 'Observations',
data: dt
}]
});
我该如何解决这个问题?
答案 0 :(得分:1)
Highcharts接受两种格式的输入数据
特别是当涉及像boxplot这样的图表需要多个值来绘制图表上的单个点时,这些方法将帮助您实现我们所需的。
以下是Boxplot的2种方法。 1.具有6或5个值的数组数组。在这种情况下,值对应于x,low,q1,median,q3,high
data: [
[0, 3, 0, 10, 3, 5],
[1, 7, 8, 7, 2, 9],
[2, 6, 9, 5, 1, 3]
]
具有命名值的对象数组。
data: [{
x: 1,
low: 4,
q1: 9,
median: 9,
q3: 1,
high: 10,
name: "Point2",
color: "#00FF00"},{
x: 1,
low: 5,
q1: 7,
median: 3,
q3: 6,
high: 2,
name: "Point1",
color: "#FF00FF"}]
所以在第一种方法中,当数组中出现额外的值时会失真,因此就是你的图形。
如果您希望在数据中有额外的值,这些值不是绘图所必需的,但很重要,您可以采用第二种方法。
以下是您的参考链接: API:https://api.highcharts.com/highcharts/series.boxplot.data 例如:http://jsfiddle.net/fzwu1ods/