我的任务是为一些数据生成一个分析工具,我们可以了解该公司与其客户合作的活动。
上周,我使用一些PHP和Flot Jquery图形工具对一个可能的图形进行了模拟视图。不幸的是,我不认为我能够长期使用flot来满足我需要的工作,以便制作我需要工作的图形我必须破解8个div其中一个顶部,否则我只是有一个扁平线...
所以现在我正在研究与此工具配合使用的技术。其中一位高级成员建议使用Django作为框架,并使用reportlabs或matplotlib来执行图表
我花了最近几天寻找关于如何使用报告实验室或matplotlib生成图表并使用django来显示它们的体面教程,遗憾的是我还没有找到任何有用的东西。 我在django网站上找到的两个例子并不是非常有用,大多数例子给你的是:
drawing = Drawing()
data = [
(13, 5, 20, 22, 37, 45, 19, 4),
(14, 6, 21, 23, 38, 46, 20, 5)
]
bc = VerticalBarChart()
bc.x = 50
bc.y = 50
bc.height = 125
bc.width = 300
bc.data = data
bc.strokeColor = colors.black
bc.valueAxis.valueMin = 0
bc.valueAxis.valueMax = 50
bc.valueAxis.valueStep = 10
bc.categoryAxis.labels.boxAnchor = 'ne'
bc.categoryAxis.labels.dx = 8
bc.categoryAxis.labels.dy = -2
bc.categoryAxis.labels.angle = 30
bc.categoryAxis.categoryNames = ['Jan-99','Feb-99','Mar-99',
'Apr-99','May-99','Jun-99','Jul-99','Aug-99']
drawing.add(bc)
但是你如何与django的观点整合呢?这是我的尝试,产生了一个空白的屏幕......
def chartTest(request):
import mycharts
drawing = Drawing()
d = mycharts.testChart(drawing)
binaryStuff = d.asString('gif')
return HttpResponse(binaryStuff,'image/gif')
我确实设法让matplotlib生成一个图形,但它有一个灰色的背景,在我的生活中,我无法弄清楚如何让它消失,并发现很难在Google上查找有关它为何如此的信息这一点。
我有点陷入困境,所以如果有人有任何想法,我可以找到有用的建议来学习这些最棒的工具。
感谢
答案 0 :(得分:3)
查看Google图表工具http://code.google.com/apis/chart/
答案 1 :(得分:2)
另请查看jqPlot http://www.jqplot.com/ - 它使用jQuery - 一个javascript库。
我通常将所有数据传递到模板中,图表/图表在客户端的浏览器中呈现。
答案 2 :(得分:0)
另请查看d3.js.本地HTML5的美丽情节,也非常适合互动。