使用matplotlib的简单Django Graph示例

时间:2015-08-14 21:09:48

标签: python django matplotlib

我正在寻找一个非常简单的示例,即使用Django QuerySet然后使用matplotlib生成图形。我发现的所有示例都有硬编码的数据值,或者它们并没有真正解释它们正在做什么。我认为这对其他人来说也是个好问题。

让我用一个非常简单的例子设置舞台,这对我和其他n00bs来说非常容易。 ; - )

class Animals(models.Model):
    cats = models.PositiveSmallIntegerField
    dogs = models.PositiveSmallIntegerField
    created = created = models.DateTimeField(auto_now_add=True)

datatograph = Animals.objects.all()

如何将数据图形设置为正确的格式,以便将其传递给matplotlib,最后得到两个整数的X轴,日期的y轴和一条狗的线和一条猫的线。

谢谢!

1 个答案:

答案 0 :(得分:1)

由于使用了lambda,我很难理解你的答案,我发现这有点难以理解。我让我的朋友解释它和我大脑的秘诀就是知道我们正在做的是将ORM中的三列中的每一列都转换成一个数组(Python中的LIST)。我认为对于初学者来说这是一个更简单的答案(像我一样)。

class Animals(models.Model):
cats = models.PositiveSmallIntegerField
dogs = models.PositiveSmallIntegerField
created = created = models.DateTimeField(auto_now_add=True)

import matplotlib.pyplot as plt

datatograph = Animals.objects.all()

for a in datatograph
    catslist = catslist + [a.cats]
    dogslist = dogslist + [a.cats]
    dates = dates + [a.created]
plt.plot(dates, catslist)
plt.plot(dates, dogslist)
plt.show() # Pops up a dialog with the graph, se plt.savefig(filename.ext) to save in .ext format like .png
plt.close()