使用数据库信息创建散景时间序列图

时间:2014-09-23 23:51:53

标签: python charts pandas time-series bokeh

我正在尝试使用散景创建时间序列图。这是我第一次使用散景,也是我第一次使用大熊猫。我们的客户会收到他们产品的评论。我正在尝试创建一个图表,显示他们的平均评论评分如何随时间变化。

我们的数据库包含每次审核的日期。我们还有该日期的平均审核价值。我需要绘制一条线,x轴是日期,y轴是审查值范围(1到10)。

当我接受这个项目时,我觉得这很容易。我错了。我找到了以下时间序列示例:

http://bokeh.pydata.org/tutorial/solutions/gallery/stocks.html

图表看起来不错。不幸的是,这个例子完全掩盖了创建解决方案最困难的部分。具体而言,它没有显示如何从源数据创建适当的数据结构。该示例是从yahoo api检索预构建的数据结构。我试过检查这些结构,但它们对我来说并不简单。

我找到了一个解释熊猫结构的页面。我理解起来有点困难。特别令我困惑的是如何在图表中表示点而不必标记这些点。例如,y轴应显示整数,但数据点不需要与整数值相交。我找到的页面链接如下:

http://pandas.pydata.org/pandas-docs/stable/dsintro.html

有没有人知道时间序列图表类型的工作示例,它举例说明了如何构建必要的数据结构?

更新 感谢下面的答案,我只是将列表传递到行中。我没有想到我能做到这一点,但它的效果非常好。例如:

    date = [1/11/2011, 1/12/2011. 1/13/2011, 4/5/2014]
    rating = [4, 4, 5, 2]
    line(
        date,                                       # x coordinates
        rating,                                  # y coordinates
        color='#A6CEE3',                                    # set a color for the line
        x_axis_type = "datetime",                           # NOTE: only needed on first
        tools="pan,wheel_zoom,box_zoom,reset,previewsave"   # NOTE: only needed on first
    )

1 个答案:

答案 0 :(得分:4)

您不必使用Pandas,您只需提供一系列x值和一系列y值。这些可以是普通的Python数字列表,也可以是NumPy数组或Pandas系列。这是另一个仅使用NumPy数组的时间序列示例:

http://bokeh.pydata.org/en/latest/docs/gallery/color_scatter.html

编辑:链接已更新