[英]Easier way to draw a bar chart using highcharts?
我开始尝试使用Highcharts。
似乎要绘制条形图,我需要填写以下两个属性:
xAxis: {
categories: [
'Jan',
'Feb',
'Mar',
'Apr',
'May',
'Jun',
'Jul',
'Aug',
'Sep',
'Oct',
'Nov',
'Dec'
],
crosshair: true
},
series: [{
name: 'Tokyo',
data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
}, {
name: 'New York',
data: [83.6, 78.8, 98.5, 93.4, 106.0, 84.5, 105.0, 104.3, 91.2, 83.5, 106.6, 92.3]
}, {
name: 'London',
data: [48.9, 38.8, 39.3, 41.4, 47.0, 48.3, 59.0, 59.6, 52.4, 65.2, 59.3, 51.2]
}, {
name: 'Berlin',
data: [42.4, 33.2, 34.5, 39.7, 52.6, 75.5, 57.4, 60.4, 47.6, 39.1, 46.8, 51.1]
}
现在我有下表:
╔════╦════════╦════════╗
║ ID ║ State ║ Number ║
╠════╬════════╬════════╣
║ A ║ S1 ║ 7 ║
║ B ║ S1 ║ 6 ║
║ B ║ S2 ║ 5 ║
║ C ║ S3 ║ 4 ║
║ C ║ S1 ║ 3 ║
╚════╩════════╩════════╝
我想要的条形图是
ID
ID
,我想绘制每个可能State
的编号。 因此,似乎我需要Highcharts的以下属性:
xAxis: {
categories: [
'A',
'B',
'C'
],
crosshair: true
},
series: [{
name: 'S1',
data: [7, 6, 3]
}, {
name: 'S2',
data: [0, 5, 0]
}, {
name: 'S3',
data: [0, 0, 4]
}
}
这是正确的吗?
因此,似乎我需要仔细地将原始表(在现实生活中它可以更大,并且具有更多的ID和状态)转换为属性,并将0
填充给没有某些State
的Number
的ID
。 例如,我可能不得不使用字典词典来存储转换后的表。
有没有简单的方法可以做到这一点?
是的,在您的情况下,有一件事情是多余的-与填零有关。 而是提供索引类别并稍微更改数据格式。
例如:
name: 'S2',
data: [0, 5, 0]
可以更改为:
name: 'S2',
data: [ [1, 5] ]
并且数字5
将连接到索引为1
的类别,该索引链接到类别名称B
因此,我将按照以下步骤格式化您的数据:
请注意,这可能只是一些内置方法的建议,尽管这样做可以更容易一些。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.