在上面的所有示例中,要绘制的数据都以 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)
数据框如下所示 -
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)
运行结果: