我目前正在处理一项想要在网站上显示条形图/表格的任务。
该应用程序使用:sproutcore (1.6) 作为前端,Java Restful 作为后端。
但是,我在 sproutcore 中找不到一些有用的图表库。有什么想法吗?
我在网站上搜索,感觉 google 图表工具相当不错,另外 jFreechart 作为后端也是一个不错的选择。
我不确定如何将其集成到sproutcore。
谢谢。
我目前正在处理一项想要在网站上显示条形图/表格的任务。
该应用程序使用:sproutcore (1.6) 作为前端,Java Restful 作为后端。
但是,我在 sproutcore 中找不到一些有用的图表库。有什么想法吗?
我在网站上搜索,感觉 google 图表工具相当不错,另外 jFreechart 作为后端也是一个不错的选择。
我不确定如何将其集成到sproutcore。
谢谢。
我正在使用 Flot 在我的 Sproutcore 应用程序上显示图表。
要使用它,您需要在 frameworks 文件夹中创建一个 flot 目录,其中将包含 jquery.flot.js 文件(我还包含 jquery.flot.pie.js 文件)和一个包含以下内容的 core.js 文件:
sc_require('jquery.flot.js');
sc_require('jquery.flot.pie.js');
Flot = SC.Object.create({
plot: $.plot
}) ;
然后,您需要将此新库添加到您的 buildfile 中:
config :yourapp,
:required => ['flot']
要在您的应用程序中显示您的图表,您可以使用我为使用 Flot 而制作的这个自定义视图:
GX.FlotView = SC.View.extend({
classNames: ['flot'],
//ex: [{ data: [[1326366000000, 1500], [1326452400000, 600]], label: 'title of the serie' }, ...]
data: [],
/*
ex: {
legend: { show: true },
series: line, points,
xaxis: { mode: "time", timeformat: "%d/%m/%y", }
grid: { backgroundColor: { colors: ["#FFF", "#fefefe"]}},
}
*/
options: [],
render: function(context, firstTime) {
var frame = this.get('frame'),
data = this.get('data'),
options = this.get('options');
// To avoid an error with flot, we check if width and height > 0
if(frame.width > 0 && frame.height > 0 && data && data.length) {
var layer = this.get('layer'),
plot = Flot.plot(layer, data, options);
}
},
viewDidResize: function() {
this.invokeLast(function() {
if (this.get('isVisibleInWindow')) this.set('layerNeedsUpdate', YES);
});
}.observes('data', 'data.[]'),
});
然后,您只需将数据和选项属性与您的数据绑定即可。