我正在寻找一个非常简单的示例,即使用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轴和一条狗的线和一条猫的线。
谢谢!
答案 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()