我在一个项目中使用HighCharts,在按我想要的方式格式化数据时遇到了问题。我目前有一些有效的东西,但感觉不太对劲。
我有一个柱状图,所有的东西都在一个系列中。我宁愿每个数据点都在它自己的系列中&在图例中正确标记&工具提示。以下是用于格式化数据的相关位的示例。
我不确定我做错了什么,我所做的改变感觉他们应该工作,因为他们的文档&这个演示。此外,如果多个系列有效,我需要类别吗?
工作:
"series": [
{
"data": [
{
"y": 92,
"name": "Apples: 92ms for 83,481,430 requests",
"color": "#91cb73"
},
{
"y": 761,
"name": "Bananas: 761ms for 58,050,877 requests",
"color": "#ab7053"
},
{
"y": 774,
"name": "Kiwis: 774ms for 362,294 requests",
"color": "#44719c"
}
]
}
]
演示:http://jsfiddle.net/b65kp/
不工作:
"series": [
{
"name": "Apples",
"data": {
"y": 92,
"name": "92ms for 83,481,430 requests",
"color": "#91cb73"
}
},
{
"name": "Bananas",
"data": {
"y": 761,
"name": "761ms for 58,050,877 requests",
"color": "#ab7053"
}
},
{
"name": "Kiwis",
"data": {
"y": 774,
"name": "774ms for 362,294 requests",
"color": "#44719c"
}
}
]
演示:http://jsfiddle.net/u74Qw/1/
问题是"data"
需要一个数组,而您给它一个对象。将每个对象包裹在一个数组中。例如:
"data": [{
"y": 92,
"name": "92ms for 83,481,430 requests",
"color": "#91cb73"
}]
这是你的完整修复,但可能不会得到你期望的结果,就我个人而言,我喜欢你的第一次尝试更好的
FWIW,setting this up
:的替代方法
http://jsfiddle.net/jlbriggs/zbW4D/
需要考虑的事项:
1) 使用图例而不是直接标记每个条,会让用户来回查看哪个是哪个(两者都这样做只会增加额外的混乱,分散用户的注意力)
2) 旋转标签总是为用户增加更多的工作量
3) 当每个条都贴上适当的标签时,条就不需要多种颜色,而且只会增加分心
没有图例和单一颜色数据的水平条形图解决了这些问题。