答案 0 :(得分:1)
以下是如何在web2py中使用d3.js的示例。这适用于我使用本书this d3.js sample中的Interactive Data Visualizations for the Web。
添加控制器controllers/d3js.py
import random
def histogram():
dataset = [(random.randint(1,6) + random.randint(1,6)) for i in range(100)]
return dict(dataset=dataset, title='D3.js Histogram')
使用从控制器传递的动态功能添加包含d3.js代码的视图view/d3js/histogram.html
。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>{{=title}}</title>
<script type="text/javascript" src="https://d3js.org/d3.v3.min.js" ></script>
</head>
<body>
<script type="text/javascript">
{{from gluon.serializers import json}}
var dataset = {{=XML(json(dataset))}};
//Width and height
var w = 600;
var h = 600;
...
//Create SVG element
var svg = d3.select("body")
.append("svg")
.attr("width", w)
.attr("height", h);
...
</script>
</body>
</html>
答案 1 :(得分:0)
您想要生成哪种图表/图表?如果您正在使用基本条形图,则可以使用web2py的HTML帮助程序在服务器端生成它们。 Here's an example of a page that does that
如果我没记错的话,另一个选择是Massimo的(web2py项目负责人)Canvas库,它提供了一个matplotlib接口。
除此之外,正如您所指出的,有很多javascript库。有一个web2py plugin for Google charts