Bokeh - Pandas 使用

在上面的所有示例中,要绘制的数据均以 Python 列表或 numpy 数组的形式提供。 也可以以 pandas DataFrame 对象的形式提供数据源。

DataFrame 是一种二维数据结构。 数据框中的列可以是不同的数据类型。 Pandas 库具有从各种来源(如 CSV 文件、Excel 工作表、SQL 表等)创建数据框的功能。

出于以下示例的目的,我们使用的 CSV 文件包含两列,分别代表数字 x 和 10x。 test.csv文件如下 −

x,pow
0.0,1.0
0.5263157894736842,3.3598182862837818
1.0526315789473684,11.28837891684689
1.5789473684210527,37.926901907322495
2.1052631578947367,127.42749857031335
2.631578947368421,428.1332398719391
3.1578947368421053,1438.449888287663
3.6842105263157894,4832.930238571752
4.2105263157894735,16237.76739188721
4.7368421052631575,54555.947811685146

我们将使用 pandas 中的 read_csv() 函数在数据帧对象中读取此文件。

import pandas as pd
df = pd.read_csv('test.csv')
print (df)

dataframe 如下所示 −

x        pow
0 0.000000 1.000000
1 0.526316 3.359818
2 1.052632 11.288379
3 1.578947 37.926902
4 2.105263 127.427499
5 2.631579 428.133240
6 3.157895 1438.449888
7 3.684211 4832.930239
8 4.210526 16237.767392
9 4.736842 54555.947812

"x"和"pow"列用作 bokeh 图中线条字形的数据系列。

from bokeh.plotting import figure, output_file, show
p = figure()
x = df['x']
y = df['pow']
p.line(x,y,line_width = 2)
p.circle(x, y,size = 20)
show(p)

输出

Pandas