从highcharts中的数组绘制饼状图
draw pie chart from arrays in highcharts
我想合并两个数组并在图表上显示它们,但不能这样做。请指出绘制这种图表的正确语法。如果有人能提供一个简单的链接,这将是更好的为我的理解。谢谢。
$(function () {
var name = ['chrome','firefox','opera'];
var data = [11.22,81.54,6];
var final = [name,data];
$('#container').highcharts({
chart: {
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false,
type: 'pie'
},
title: {
text: 'Browser market shares January, 2015 to May, 2015'
},
tooltip: {
pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true,
format: '<b>{point.name}</b>: {point.percentage:.1f} %',
style: {
color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'
}
}
}
},
series: [{
name: "Results",
colorByPoint: true,
data:JSON.parse(final)
}]
});
});
不必合并数组。你必须用对象列表构建新的数组。这些对象应该具有基于您提供的数组的结构。每个对象的适当"名称"应从"名称"数组中获取其值。适当的"y",反过来应该从"数据"数组中获得值。例如:
var final = [
{
name: 'chrome',
y: '11,22'
},
{
name: 'firefox',
y: '81.5'
},
{
name: 'opera',
y: '6'
}
]
你可以这样得到它:
var name = ['chrome','firefox','opera'];
var data = [11.22,81.54,6];
var final = [];
for(var i=0; i < name.length; i++) {
final.push({
name: name[i],
y: data[i]
});
}
这里是小提琴:http://jsfiddle.net/ujahc83h/2/
相关文章:
- 将ajax数组缓冲区响应绘制到画布中
- HTML5 Canvas - 使用命令数组通过上下文进行绘制
- 如何在浏览器窗口底部的直线上绘制圆圈数组
- 如何在谷歌地图API中使用坐标数组绘制多边形
- d3.js如何从数组中绘制堆叠的水平条
- 从带有循环的数组中一个接一个地在画布上绘制形状
- 使用javascript绘制多个以数组元素为文本中心的圆
- 从数组绘制级别后的冲突检测
- 加载带有 onload 的图像数组,如何限制将它们绘制到画布
- 从谷歌地图中的数组绘制形状
- 从对象数组数组绘制 D3 图表
- 绘制 C3 图表时的 JSON 到数组问题
- 是什么导致我的绘制数组调用无效操作
- 获取与数组匹配的用户输入以绘制到画布上
- 将数据复制到 JavaScript D3 中的数组.js然后绘制散点图
- 从数组中绘制纬度,在谷歌地图中做长
- 谷歌地图API - 在数组中使用Lat Lng坐标绘制折线飞行路径
- 使用 jquery flot 绘制 json 数组
- 使用数据表(Meteor Tabular)在新行中绘制数组的每个元素
- 在画布中绘制数组图像