鱼C论坛

 找回密码
 立即注册
查看: 1430|回复: 0

[技术交流] Bokeh数据可视化 中文文档01快速开始

[复制链接]
发表于 2020-10-15 13:20:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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.
安装
pip install bokeh
开始
在基本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还提供了许多附加的符号和标记


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-18 08:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表