如何在Bokeh中視覺化多線圖,例如洛倫茲吸引子?
Bokeh是一個用於資料視覺化的Python包。它是一個開源專案。Bokeh使用HTML和JavaScript呈現其圖表。這表明它在使用基於Web的儀表板時非常有用。
Bokeh將資料來源轉換為JSON檔案。此檔案用作BokehJS(一個JavaScript庫)的輸入。BokehJS是用TypeScript編寫的,有助於在現代瀏覽器上呈現視覺化效果。
Matplotlib和Seaborn生成靜態圖表,而Bokeh生成互動式圖表。這意味著當用戶與這些圖表互動時,它們會相應地改變。
Bokeh的依賴項:
Numpy Pillow Jinja2 Packaging Pyyaml Six Tornado Python−dateutil
在Windows命令提示符下安裝Bokeh
pip3 install bokeh
在Anaconda提示符下安裝Bokeh
conda install bokeh
以下是程式碼:
示例
import numpy as np
from scipy.integrate import odeint
from bokeh.plotting import figure, output_file, show
sigma = 15
rho = 30
beta = 11/6
theta = 3 * np.pi / 5
def lorenzFun(xyz, t):
x, y, z = xyz
x_dot = sigma * (y − x)
y_dot = x * rho − x * z − y
z_dot = x * y − beta* z
return [x_dot, y_dot, z_dot]
initial = (−11, −8, 40)
t = np.arange(0, 1149, 0.05)
solution = odeint(lorenzFun, initial, t)
x = solution[:, 0]
y = solution[:, 1]
z = solution[:, 2]
xprime = np.cos(theta) * x − np.sin(theta) * y
colors = ["#C6DBEF", "#9ECAE1", "#6BAED6", "#4292C6", "#2171B5", "#08306B",]
p = figure(title="Lorenz attractor ", background_fill_color="#fafafa")
p.multi_line(np.array_split(xprime, 6), np.array_split(z, 6),
line_color=colors, line_alpha=0.8, line_width=1.5)
output_file("lorenzplot.html", title="lorenz attractor example")
show(p)輸出

解釋
匯入併為所需的包指定別名。
呼叫figure函式,並指定繪圖寬度和高度。
定義“lorenzFun”,它給出“x”、“y”和“z”的值。
定義顏色列表,為繪圖著色。
呼叫“output_file”函式以指定將生成的html檔案的名稱。
呼叫Bokeh中的“multi_fun”函式,並傳入資料。
使用“show”函式顯示繪圖。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP