我有一个希望可以得到帮助的问题。我已经在这里阅读了一些教程和一些问题,但似乎没有人回答我的问题。我正在向我的PHP文件发出一个ajax请求,该文件将返回一个类似于此类的JSON响应(控制台记录输出):
{ Email addresses: 4, IP addresses: 2, Names: 1 }
我希望能够使用Chart.js将其绘制到图表上,但我尝试过:
$.each(res, function(i, item) {
data = {
label: i,
value: item
}
}
var myDoughnutChart = new Chart(ctx).Pie(data);
问题是它只填充一种颜色和一种带有一个值的标签。有什么办法可以改变JSON输出的格式,因此它可能会读取:
{ "Label":"Email addresses","Value":"4" }
必须使用Javascript / JQuery进行更改。我必须指出标签并不总是相同,有时JSON输出可能会有所不同,如:
{ Usernames: 3, Passwords: 3, Names: 1 }
以上只是我在输出到控制台时所得到的。
我如何使用JQuery或其他的$ .each()来绘制图表呢?任何帮助将不胜感激,抱歉这个问题的长度。
答案 0 :(得分:2)
当你使data
与当前项目相等时,它总是覆盖$.each(res, function(i, item) {
if (!Array.isArray(data)) {
data = [];
}
data.push({
label: i,
value: item
});
}
var myDoughnutChart = new Chart(ctx).Pie(data);
,并且等于循环后的最后一个元素。您需要向其中添加元素,因此图表中会有更多元素。
public class Answer
{
[Key]
public int AnswerId { get; set; }
public string AnswerText { get; set; }
public int Question_QuestionId { get; set; }
}
答案 1 :(得分:0)
非常容易
转到chart.js脚本并用电子邮件地址和IP地址替换标签和值。 最初它接受标签和价值以及一些可选的属性,如颜色和所有......
希望vl帮助