图形数据,网站查看使用的平台

时间:2011-09-22 15:07:30

标签: python django graph matplotlib reportlab

我的任务是为一些数据生成一个分析工具,我们可以了解该公司与其客户合作的活动。

上周,我使用一些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上查找有关它为何如此的信息这一点。

我有点陷入困境,所以如果有人有任何想法,我可以找到有用的建议来学习这些最棒的工具。

感谢

3 个答案:

答案 0 :(得分:3)

查看Google图表工具http://code.google.com/apis/chart/

答案 1 :(得分:2)

另请查看jqPlot http://www.jqplot.com/ - 它使用jQuery - 一个javascript库。

我通常将所有数据传递到模板中,图表/图表在客户端的浏览器中呈现。

答案 2 :(得分:0)

另请查看d3.js.本地HTML5的美丽情节,也非常适合互动。

http://mbostock.github.com/d3/

相关问题