gpt4 book ai didi

javascript - 如何在 Codeigniter 中使用 JSON 制作动态图表 js?

转载 作者:行者123 更新时间:2023-11-30 20:29:05 28 4
gpt4 key购买 nike

我想使用 JSON 制作带有动态数据的图表 js,我仍然对在图表中使用 JSON 感到困惑,下面是图表 js 代码和我的文件 json。图表中的标签在 json 中使用“tahun”,数据在 json 中使用“e_nilai”。

这是我的静态折线图 JS:

ChartJs.prototype.init = function() {
//creating lineChartexport
var lineChart = {
labels: ["2000", "2001", "2002", "2003", "2004", "2005", "2006", "2007", "2008", "2009", "2010", "2011", "2012", "2013", "2014", "2015", "2016", "2017"],
datasets: [
{
label: "Nilai Ekspor ($)",
fill: false,
lineTension: 0.1,
backgroundColor: "#5d9cec",
borderColor: "#5d9cec",
borderCapStyle: 'butt',
borderDash: [],
borderDashOffset: 0.0,
borderJoinStyle: 'miter',
pointBorderColor: "#5d9cec",
pointBackgroundColor: "#fff",
pointBorderWidth: 5,
pointHoverRadius: 5,
pointHoverBackgroundColor: "#5d9cec",
pointHoverBorderColor: "#eef0f2",
pointHoverBorderWidth: 2,
pointRadius: 1,
pointHitRadius: 10,
data: [59, 50, 41, 56, 55, 40, 35, 30, 40, 45, 50, 53, 45, 60, 65, 70, 80, 90]
}]
};

var lineOpts = {
scales: {
yAxes: [{
ticks: {
max: 100,
min: 20,
stepSize: 10
}
}
]
}
};

this.respChart($("#lineChartExport"),'Line',lineChart, lineOpts);

这是我的文件 data.JSON :

[{
"id_ekspor": "EAA01",
"e_berat": "123791375",
"e_nilai": "321652431",
"tahun": "2000",
"id_industri": "ID01"
}, {
"id_ekspor": "EAA02",
"e_berat": "135719274",
"e_nilai": "253398253",
"tahun": "2001",
"id_industri": "ID01"
}, {
"id_ekspor": "EAA03",
"e_berat": "187393877",
"e_nilai": "336003121",
"tahun": "2002",
"id_industri": "ID01"
}, {
"id_ekspor": "EAA04",
"e_berat": "128295793",
"e_nilai": "368611670",
"tahun": "2003",
"id_industri": "ID01"
}, {
"id_ekspor": "EAA05",
"e_berat": "171821748",
"e_nilai": "364339174",
"tahun": "2004",
"id_industri": "ID01"
}, {
"id_ekspor": "EAA06",
"e_berat": "281319414",
"e_nilai": "620528336",
"tahun": "2005",
"id_industri": "ID01"
}, {
"id_ekspor": "EAA07",
"e_berat": "339357790",
"e_nilai": "1117675174",
"tahun": "2006",
"id_industri": "ID01"
}, {
"id_ekspor": "EAA08",
"e_berat": "828240527",
"e_nilai": "1285587692",
"tahun": "2007",
"id_industri": "ID01"
}, {
"id_ekspor": "EAA09",
"e_berat": "541271140",
"e_nilai": "1506863073",
"tahun": "2008",
"id_industri": "ID01"
}, {
"id_ekspor": "EAA10",
"e_berat": "435374795",
"e_nilai": "1785347418",
"tahun": "2009",
"id_industri": "ID01"
}, {
"id_ekspor": "EAA11",
"e_berat": "392740658",
"e_nilai": "1942154132",
"tahun": "2010",
"id_industri": "ID01"
}, {
"id_ekspor": "EAA12",
"e_berat": "310010079",
"e_nilai": "2171049091",
"tahun": "2011",
"id_industri": "ID01"
}, {
"id_ekspor": "EAA13",
"e_berat": "253303518",
"e_nilai": "1924902851",
"tahun": "2012",
"id_industri": "ID01"
}, {
"id_ekspor": "EAA14",
"e_berat": "241833783",
"e_nilai": "1850122870",
"tahun": "2013",
"id_industri": "ID01"
}, {
"id_ekspor": "EAA15",
"e_berat": "213647160",
"e_nilai": "1538193197",
"tahun": "2014",
"id_industri": "ID01"
}, {
"id_ekspor": "EAA16",
"e_berat": "262358687",
"e_nilai": "1507887694",
"tahun": "2015",
"id_industri": "ID01"
}, {
"id_ekspor": "EAA17",
"e_berat": "387940300",
"e_nilai": "2124722151",
"tahun": "2016",
"id_industri": "ID01"
}, {
"id_ekspor": "EAA18",
"e_berat": "241644238",
"e_nilai": "1624678879",
"tahun": "2017",
"id_industri": "ID01"
}]

我想将数据“e_nilai”作为数据,“tahun”作为标签..

图表JS中数据动态如何使用JSON?

请帮忙,

谢谢

最佳答案

您应该从您的 json 数据构建您的标签。检查这个:

var json = [
// your data json listed here
]

var label = []
var data = []
json.forEach(function (element) {
label.push(element.tahun)
data.push(element.e_nilai)
})

console.log(label, data)

然后您可以在 Chart.js 中使用您的数据和标签。

这里是 fiddle

更新:

如果您使用 ajax,则在成功时将其调用。

$.ajax({
method: 'GET',
url: 'your_url',
dataType: 'json',
success: function (response) {
var label = []
var data = []
response.forEach(function (element) {
label.push(element.tahun)
data.push(element.e_nilai)
})
// your chart goes here
}
})

关于javascript - 如何在 Codeigniter 中使用 JSON 制作动态图表 js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50561524/

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