马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 EthanHsiung 于 2020-10-15 13:20 编辑
快速开始
Bokeh是一个面向现代web浏览器的交互式可视化库。它提供优雅、简洁的多功能图形结构,并在大型或流式数据集(steaming dataset)上提供高性能的交互性。Bokeh可以帮助任何想要快速方便地制作交互式绘图、仪表板和数据应用程序的人。
为了提供简单性和高级定制所需的强大和灵活的特性,Bokeh向用户公开了两个界面等级:
bokeh.models:为应用程序开发者提供的最大灵活性的低级接口。//A low-level interface that provides the most flexibility toapplication developers.
bokeh.plotting:以合成视觉符号为核心的高级接口。//A higher-level interface centered around composing visual glyphs.
安装开始
在基本Python列表(list)中,将数据绘制为折线图(line plot),包括缩放、平移、保存和其他工具,非常简单和直接。 from bokeh.plotting import figure, output_file, show
# prepare some data
x = [1, 2, 3, 4, 5]
y = [6, 7, 2, 4, 5]
# output to static HTML file
output_file("lines.html")
# create a new plot with a title and axis labels
p = figure(title="simple line example", x_axis_label='x', y_axis_label='y')
# add a line renderer with legend and line thickness
p.line(x, y, legend_label="Temp.", line_width=2)
# show the results
show(p)
执行此脚本时,您将看到一个新的输出文件“line.html”,浏览器会自动打开一个新的选项卡来显示它。 通过bokeh.plotting接口绘图的基本步骤: 准备一些数据 在本例中,是朴素的python列表,但是numpy arrays 和 pandas series 也可以。 告诉bokeh在哪里生成输出文件 在本例中,使用output_file()和文件名"lines.html"。另一种操作是对于Jupyter notebooks的使用output_notebook()
调用figure() 创建一个带有默认典型选项的图,图的标题、工具栏和轴标签可以轻松自定义。
添加渲染器(renderers)
在本例中,我们对数据使用line(),指定可视化定制,如颜色、图例和宽度。
显示或保存结果
这些函数将绘图保存到HTML文件中,并可选择在浏览器中显示它。
[url=][/url]
可以重复步骤3和4来创建多个绘图
如果我们需要通过添加更多的数据系列、字形、对数轴等的定制输出,bokeh.plotting接口也非常方便。将多个字形组合在一个图上很容易,如下所示: from bokeh.plotting import figure, output_file, show
# prepare some data
x = [0.1, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0]
y0 = [i**2 for i in x]
y1 = [10**i for i in x]
y2 = [10**(i**2) for i in x]
# output to static HTML file
output_file("log_lines.html")
# create a new plot
p = figure(
tools="pan,box_zoom,reset,save",
y_axis_type="log", y_range=[0.001, 10**11], title="log axis example",
x_axis_label='sections', y_axis_label='particles'
)
# add some renderers
p.line(x, x, legend_label="y=x")
p.circle(x, x, legend_label="y=x", fill_color="white", size=8)
p.line(x, y0, legend_label="y=x^2", line_width=3)
p.line(x, y1, legend_label="y=10^x", line_color="red")
p.circle(x, y1, legend_label="y=10^x", fill_color="red", line_color="red", size=6)
p.line(x, y2, legend_label="y=10^x^2", line_color="orange", line_dash="4 4")
# show the results
show(p)
相关概念:
Plot:是bokeh的中心概念。它们是包含所有不同对象(渲染器、指南、数据和工具)的容器,这些对象构成了最终呈现给用户的可视化效果。这个 bokeh.plotting接口提供 figure() 函数帮助组装所有必需的对象。
Glyphs:glyphs是bokeh可显示的基本视觉标记。在最底层,有glyphs对象,比如Line。如果你在使用低级的bokeh.models接口,您的责任是创建和协调所有不同的bokeh对象,包括glyphs对象及其数据源。bokeh.plotting接口公开高级符号方法,如第一个示例中使用的line()方法。第二个示例还添加了对circle()的调用,以在同一个绘图上同时显示圆和线符号。除了线和圆,bokeh还提供了许多附加的符号和标记。
|