绘制与熊猫的散景线图的问题

时间:2017-01-25 10:21:23

标签: python pandas bokeh

当我尝试绘制线图时,我得到空白图表。我正在使用数据帧。我的示例csv有4列。

import pandas as pd
df = pd.read_csv('c:\Temp\abc.csv')
from bokeh.plotting import figure, show, output_file

x=df.iloc[:,0]
y=df.iloc[:,1:]
output_file("sample.html")
p = figure(plot_width=400, plot_height=400)
p.line(x,y,line_width=2)
show(p)

但是当我使用Line()并传递df时,我能够成功生成图形。

from bokeh.charts import Line
Line(df)
output_notebook()

我无法找出我犯的错误。

1 个答案:

答案 0 :(得分:1)

您必须使用multi_line绘制多行。请参阅链接:Plotting with Basic Glyphs。我假设您的x轴位于df的第一列,并且您希望其他3列为三行。我在这里提供一个例子:

import bokeh
import bokeh.plotting
df = np.array(
      [[ 1. ,  1.1,  1.2,  1.3],
       [ 2. ,  2.1,  2.2,  2.3],
       [ 3. ,  3.1,  3.2,  3.3],
       [ 4. ,  4.1,  4.2,  4.3],
       [ 5. ,  5.1,  5.2,  5.3]])
x=df[:,[0]].repeat(df.shape[1]-1,1).T # x axis values are needed for every line
y=df[:,1:].T
p = bokeh.plotting.figure(plot_width=400, plot_height=400)
p.multi_line(list(x),list(y),line_width=2,color=["firebrick", "navy","green"])
bokeh.io.output_notebook() # Erase If output is not a jupyter notebook
bokeh.io.show(p)

enter image description here