【发布时间】:2016-02-28 03:29:08
【问题描述】:
我正在使用带有 Scala 和 Mongo 的 Playframework。我有一个scala.html 文件,其中包含以下参数
@(pageData:Map[String,Any], dairyData:Map[String,Any])
dairyData 地图包含一个日期和该日期的 6 行数据点。
我还有一个 JavaScript 文件,它在同一个文件中使用了 Google 的折线图
<script type="text/javascript">
google.load('visualization', '1.1', {packages: ['line']});
//google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('number', 'Dag');
data.addColumn('number', 'Pijn');
data.addColumn('number', 'Stemming');
data.addColumn('number', 'Slaap');
data.addRows([
[1, 1.0, 80.8, 41.8],
[2, 30.9, 69.5, 32.4],
[3, 25.4, 57, 25.7],
[4, 11.7, 18.8, 10.5],
[5, 11.9, 17.6, 10.4],
[6, 8.8, 13.6, 7.7],
[7, 7.6, 12.3, 9.6],
[8, 12.3, 29.2, 10.6],
[9, 16.9, 42.9, 14.8]
]);
var options = {
chart: {
},
width: 900,
height: 480
};
var chart = new google.charts.Line(document.getElementById('linechart_material'));
chart.draw(data, options);
}
</script>
JavaScript 折线图现在显示 3 行,称为 Pijn、Stemming 和 Slaap,包含 9 天的数据。
还有一个 div,它现在显示折线图和我想在段落中显示的数据。
<div style="width: 1000px; height: 500px;" id="linechart_material">
@if(dairyData.get("0")!=None) {
@for((dairyPool,i) <- dairyData.asInstanceOf[Map[String,Any]].toArray.zipWithIndex){
<p>@dairyData.get(dairyPool._1).get.asInstanceOf[Map[String,Any]]</p>
}
}
</div>
我的问题是,如何使用 Scala 地图中的数据填充用 JavaScript 绘制的折线图? JavaScript 似乎不适用于 Scala 的“@”
我想使用 JavaScript 线图,因为所有 Java/Scala 线图看起来都非常难看。但是,如果您有其他方法,我也想听听。
【问题讨论】:
-
stackoverflow.com/a/33500557/757071,这是我尝试过的 hack
-
你先生,是个英雄。感谢您的帮助。
标签: javascript mongodb scala playframework-2.0 linechart