【发布时间】:2015-10-27 11:05:06
【问题描述】:
谁能解释我如何将多个 CSV/JSON 文件与 amCharts 和 Data Loader 函数一起使用?
我的代码是:
var chart = AmCharts.makeChart( "chartdiv", {
type: "stock",
datasets:[{
title: "Outdoor",
fieldmappings: [{
fromField: "timestamp",tofield: "timestamp"
},{
fromField: "temp", tofield: "temp"
},{
fromField: "id", tofield: "id"
}],
compared: false,
categoryField: "timestamp",
dataLoader: {
url: "/sensor-data.php?action=csv_data&id=AB&period=48",
showCurtain: true,
async: true,
reverse: true,
useColumnNames: true,
showErrors: true,
complete: function ( chart ) {
console.log( "Loading complete" );
},
load: function ( options, chart ) {
console.log( "File loaded: ", options.url );
},
error: function ( options, chart ) {
console.log( "Error occured loading file: ", options.url );
}
}}],
pathToImages: "http://www.amcharts.com/lib/images/",
//Python: 2015-10-27 08:43:00 YYYY-MM-DD HH:mm:ss */
//PHP: 2015-10-27 09:24:06 YYYY-MM-DD HH:mm:ss */
dataDateFormat: "YYYY-MM-DD JJ:NN:SS",
startDuration: 1,
categoryAxis: {
parseDates: true,
minPeriod : "10mm",
gridPosition: "start"
},
valueAxes: [ {
id: "v1",
gridAlpha: 0.07
}],
graphs: [ {
type:"line",
valueAxis: "v1",
title: "AB",
valueField: "temp",
lineThickness: 2
}
],
"legend": {}
} );
我不知道如何在 URL 所在的位置显示另一个数据集:"/sensor-data.php?action=csv_data&id='AB'&period=24"
已编辑/更新:根据下面的@martynasma cmets,我更新了代码,但没有显示任何内容,并且图表的数据未加载。
【问题讨论】:
-
你需要更清楚你想要达到的目标。你想加载几个数据集来提供几个图表吗?或者你想在一些用户交互之后动态加载另一个数据集?
-
这两个数据集来自 PHP 脚本,并具有以下 URL:
/sensor-data.php?action=csv_data&id='AA'&period=24"和/sensor-data.php?action=csv_data&id='AB'&period=24"。我正在寻找有关如何在同一个图表上加载这两个数据集的示例或指导。 -
更进一步,当我使用
dataSets: [{ dataLoader: { url: "/.....时,似乎没有绘制图表。 -
数据集是股票图表的特征,而不是常规的序列图表。所以你需要使用股票图表。