我正在尝试使用散景创建时间序列图。这是我第一次使用散景,也是我第一次使用大熊猫。我们的客户会收到他们产品的评论。我正在尝试创建一个图表,显示他们的平均评论评分如何随时间变化。
我们的数据库包含每次审核的日期。我们还有该日期的平均审核价值。我需要绘制一条线,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
)
答案 0 :(得分:4)
您不必使用Pandas,您只需提供一系列x值和一系列y值。这些可以是普通的Python数字列表,也可以是NumPy数组或Pandas系列。这是另一个仅使用NumPy数组的时间序列示例:
http://bokeh.pydata.org/en/latest/docs/gallery/color_scatter.html
编辑:链接已更新