我需要使用CSV数据创建图表/条形图。以下是数据格式:使用高图创建图表时出错
A 156600 154965 45679 184736 160819 42329
B 7271 4537 5379 245 0 1941
C 4347 19143 1075 397 6860 0
D 15 11283 1477 0 0 0
E 6323 537697 222430 21701 98725 3792
F 0 0 0 0 0 0
G 284356 744986 616369 0 0 106877
H 0 0 0 0 0 0
I 0 0 0 32962 0 0
J 0 12742 616 0 0 0
K 0 1215413 1420 0 0 0
L 0 0 0 0 0 0
M 24191 50166 18163 55282 48262 5862
N 0 0 0 0 0 20396
这里我将手动添加X轴类别。所以,我想创建一个像 the one seen here
我发这个图表:
$(document).ready(function() {
var options = {
chart: {
renderTo: 'container',
defaultSeriesType: 'column'
},
title: {
text: 'Total Transactions'
},
xAxis: {
categories: [],labels : { y : 20, rotation: -45, align: 'right' }
},
yAxis: {
title: {
text: 'Units'
}
},
series: []
};
$.get('data.csv', function(data) {
// Split the lines
var lines = data.split('\n');
var series = {
name: 'Transactions ',
data: []
};
$.each(lines, function(lineNo, line) {
var items = line.split(',');
if (lineNo != 0) {
$.each(items, function(itemNo, item) {
if (itemNo == 0) {
options.xAxis.categories.push(item);
} else if (itemNo == 2){
series.data.push(parseFloat(item));
}
});
}
});
options.series.push(series);
var chart = new Highcharts.Chart(options);
});
});
但它采取逐列值意味着:
156600
7271
4347
15
6323
0
284356
0
0
0
0
0
24191
0
但我需要这个来代替:
对于A(如Jan),其值应为
156600 154965 45679 184736 160819 42329
对于B(像2月),另一列应具有以下值:
7271 4537 5379 245 0 1941
你能帮我吗?
如果这些字母代表一年中的几个月份,那么您必须有很多字母。一年只有12个月。但是,你有14个字母。字母M和N代表什么? – Linger
真的很难分辨您的数据是什么样子,因为您的示例数据不是用逗号分隔的,而是您的代码在','分裂。它也看起来像你的样本数据只是一个长字符串 - 没有分成行/新行。这是真的?如果A是“像Jan”那么为什么不把它称为“Jan”呢? – wergeld
看着它,我猜你需要6个独立的系列。我对么?它看起来好像只是在代码中创建一个系列。 – Linger