gpt4 book ai didi

javascript - fusioncharts - 在不更改图表设置的情况下更新 FusionCharts 数据

转载 作者:搜寻专家 更新时间:2023-11-01 04:25:06 25 4
gpt4 key购买 nike

有没有办法只设置 Fusionchart 图的“数据”属性。因为目前当您在后期设置数据时,您需要传递具有“数据”和“图表”属性的完整 json 对象。

下面是我的示例代码;

FusionCharts.ready(function () {
var ageGroupChart = new FusionCharts({
id: 'total-users',
type: 'pie2d',
renderAt: 'chart-container',
width: '450',
height: '300',
dataFormat: 'json',
"chart": {
"caption": "Sample Graph",
"enableSmartLabels": "0",
"showPercentValues": "1",
"showTooltip": "0",
"decimals": "1",
"theme": "ocean"
},
"data":null
});
ageGroupChart.setJSONUrl( "http://www.example.com/GetData.php" );
ageGroupChart.render();
});

如您所见,我正在设置来自在线资源的数据。如果在线源不需要将“图表”属性与数据一起发送,我会更喜欢。所以我可以将 UI 外观与数据源分开。

有什么想法吗?

最佳答案

我通过 XLMhttpRequest 调用使用以下函数:

function updateChart(data) {
var jsonData = {
"chart": {
// Some rendering options
"caption": caption,
"subcaption": ""
},
"data": data
};

// First time I initialize my chart
if (FusionCharts("myChartId") === undefined) {
var chart = new myChartId({
// Some rendering options
swfUrl: "Charts/MSLine.swf",
id: "myChartId",
width: "100%",
height: "280px",
dataFormat: 'json'
});
chart.setJSONData(jsonData);
chart.render("myContainerId");
} else
// Then I just update
FusionCharts("myChartId").setJSONData(jsonData);
}

我将 updateChart 函数调用到我的成功回调中:

success: function(data, request) {
try {
var d = JSON.parse(data);

updateChart(d.chart);

// Other job...
var event = new CustomEvent("dataReceivedFromAjax", {"detail": d});
document.dispatchEvent(event);

} catch (e) {
window.console.warn("Wrong format JSON data received");
window.console.warn(data);
}
}

当然,您可以根据您的情况调整我的代码(例如,我使用的是 JsonData 而不是 JsonUrl)。

关于javascript - fusioncharts - 在不更改图表设置的情况下更新 FusionCharts 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25502132/

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