gpt4 book ai didi

javascript - 使用 HighChart + JSON 数据设置饼图颜色

转载 作者:行者123 更新时间:2023-11-28 18:49:23 24 4
gpt4 key购买 nike

我正在根据以 JSON 格式存储的数据生成饼图。我正在尝试根据 JSON 值更改颜色。

例如:if value @ json[0]['data'][0][0] = "FAILED"//setColor(RED).

我能够使用 options.series.color 设置柱状图的颜色,但是当我尝试将此选项与饼图一起使用时,它会将数据转换为系列,并且无法在容器上呈现图表。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
function getData(id) {
$.getJSON("pie.php", {
id: id
}, function(json) {
option.series = json;
chart = new Highcharts.chart(options);
});
}
</script>

我们可以仅在调用“chart”之前在 getData 函数中设置颜色吗?或者我是否需要使用 Highcharts.setOptions() 并定义颜色代码。

最佳答案

更好的选择是根据 json 数据创建系列。这是根据数据指定颜色的方法。

var serie = {
data: []
};
var series = [serie];

jQuery.each(jsonData, function(index, pointData) {

var point = {
name: pointName,
y: pointData.Value,
color: pointData.Value == 'FAILED' ? 'ff0000' : '00ff00',
serverData: pointData
};

serie.data.push(point);
});
chart.series = series;

或者

看看这个更简单的版本

JSFiddle

$( document ).ready(function() {

var data = [{
"name": "Tokyo",
"data": 3.0
}, {
"name": "NewYork",
"data": 2.0
}, {
"name": "Berlin",
"data": 3.5
}, {
"name": "London",
"data": 1.5
}];


// Highcharts requires the y option to be set
$.each(data, function (i, point) {
point.y = point.data;
point.color = parseFloat(point.data) > 3 ? '#ff0000' : '#00ff00';
});


var chart = new Highcharts.Chart({

chart: {
renderTo: 'container',
type: 'pie'
},

series: [{
data: data
}]

});

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<div id="container" style="height: 300px"></div>

关于javascript - 使用 HighChart + JSON 数据设置饼图颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34736543/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com