Javascript 更改amCharts数据的粒度
我用amCharts建立了一个系列图表。工作流是:Javascript 更改amCharts数据的粒度,javascript,mysql,json,aggregate-functions,amcharts,Javascript,Mysql,Json,Aggregate Functions,Amcharts,我用amCharts建立了一个系列图表。工作流是: 前端允许用户逐个添加趋势线 对于每个添加的趋势线,数据都从MySQL数据库(使用PHP脚本)中获取,并以JSON格式返回到AMSCHARTS 所需功能: -用户应该能够选择不同的粒度。MySQL数据库每分钟都有数据。例如,用户可以选择绘制每小时平均值 问题: -在从MySQL获取分钟数据并以JSON格式返回后,是否可以进行聚合?也许一些JavaScript函数可以聚合PHP/MySQL返回的JSON数据 我不希望在MySQL查询中进行聚合的
- 前端允许用户逐个添加趋势线
- 对于每个添加的趋势线,数据都从MySQL数据库(使用PHP脚本)中获取,并以JSON格式返回到AMSCHARTS
Pranav您只需将Json结果保存在变量中,然后重新构建Json并将此重建传递给amcharts。这样,就可以使用JS进行聚合。唯一的缺点是,当用户想要看到平均趋势线时,您必须向服务器询问详细信息 示例 您有10条不同的趋势线,每条趋势线有4个粒度:日、月、年、世纪 第一种方法 如果用户询问5条granuarity年份的趋势线,您可以通过AJAX调用获取5条granuarity日趋势线的json,然后使用JS在客户端构建月份、年份和世纪 然后,如果用户要求6条趋势线(其中5条是用户之前已经询问过的),那么您必须使JS足够智能,以便只调用一条趋势线,并将其添加到您已经获得的5条趋势线中 第二种方法 或者您创建复杂的机制,根据需要丰富趋势线数据: 若用户询问Grabaurity month的5条趋势线,你们得到了month,那个么你们可以构建year和century,但不能构建day,因为它是不需要的
然后,如果用户要求提供6条granuarity年度趋势线,那么您必须将函数设置为smart,JSON receive将只包含1条granuarity年度趋势线,然后仅为该趋势线构建century,因为JS中已经提供了其他趋势线。感谢您的快速回复。但是,我不理解您所说的“您必须向服务器询问详细信息……或者您创建了复杂的机制,以根据需要丰富趋势线数据预测”@luvlogic是否回答了您的问题?