如何在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