Bokeh快速入门(1)

简介:

Bokeh入门(1)

 

摘录:Bokeh (Bokeh.js) 是一个 Python 交互式可视化库,支持现代化 Web 浏览器,提供非常完美的展示功能。Bokeh 的目标是使用 D3.js 样式提供优雅,简洁新颖的图形化风格,同时提供大型数据集的高性能交互功能。Boken 可以快速的创建交互式的绘图,仪表盘和数据应用

 

 

先放一张自己做的图吧:

wKioL1Y4R-KgKk8jAAD-KX4FR84129.jpg 

 

个人觉得最实用的功能就是保存为图片以及实时拖动了,另外就是重置功能了

 

前言:如果需要在web页面上展示图像,我想js绝对是不二选择,但是碍于学习成本又不想花太多时间去学js,那么作为一个对python情有独钟的非典型运维人员,当然得找找python强大的支持库了,一共找到了三款,mpld3pyxleybokeh,第一款个人觉得不够强大,主要是不能直接在浏览器上保存为图片,pyxley属于较新的python项目,官方自己都说说明文档coming soon!!!然后就选择bokeh了,再者bokeh真的异常的强大,还在慢慢摸索ing

 

 

下面是官方文档的入门教程,直接手工翻译的,如有错误还望指正。

参考:http://bokeh.pydata.org/en/latest/docs/quickstart.html#getting-started

 

Bokeh同时提供强大灵活的功能,使得用户可以进行非常高阶个人定制一方面十分简洁而另一方面,Bokeh根据用户的需要公开不同的等级的接口级别给不同级别的用户:

  1. Bokeh.models是一个相对而言低阶的接口,提供了尽可能多的的灵活性以应用程序开发人员。

  2. Bokeh.plotting是一个相对而言中阶的接口,主要以视觉图形为中心。

  3. Bokeh.charts是一个相对而高阶接口,用快速而尽可能简单地构建复杂的统计图。

  4. 次快速入门主要侧重于bokeh.plotting接口

 

快速安装:

有很多种不同的安装方式安装Bokeh

如果你用的是Anaconda (推荐),用以下的命令通过bash或者windows的命令行就可直接安装了。

1
conda  install  bokeh


这种安装方式,Anaconda已经准备了运行Bokeh之前所有需要的所有依赖,这也是Bokeh强烈推荐的安装方式,无论任何平台,包括windows,它都可以将安装成本趋近于零。它也会安装一些例子在examples/目录,即Anaconda安装目录的子目录。

如图:

wKioL1Y4SFHDj3QqAAHJiAdzHgM631.jpg

 

 

当然,如果你有绝对的自信解决这些依赖,依赖包括Numpypandasredis等,你也可以用pip安装

 

1
pip  install  bokeh


 

Note

通过pip方式安装,不会安装这些例子,不过可以通过git clone 下载这些例子(examples/)

 

入门指南

Bokeh是一个公开很多能力的大型库,所以这一部分只是一个关于Bokeh常见实用案例以及工作流程的快速的导航。更多的细节请查阅完整的用户指导

 

下面通过一些实例开始。

python基本数据类型list的一些数据画一个线状图,并包括缩放(zoom),区域选择(pan),调整尺寸(resize),保存(save)等工具,是一个简答又直接的方式。

注:建议使用ipython notebook,如果不了解,去了解一下吧

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from  bokeh.plotting  import  figure, output_file, show
# prepare some data
=  [ 1 2 3 4 5 ]y  =  [ 6 7 2 4 5 ]
 
# output to static HTML file
output_file( "lines.html" , title = "line plot example" )
 
# create a new plot with a title and axis labels
=  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 = "Temp." , line_width = 2 )
 
# show the results
show(p)


wKioL1Y4ST-xY0YdAADPsbKYFAQ165.jpg

当你执行这个脚本的时候,你将会发现,在当前目录会创建一个lines.html的文件,而且浏览器会自动打开一个窗口并展示这个创建的html文件,效果如上图所示。(为了展示效果,所以才会在教程中直接叫结果嵌在这篇文档中)

 

通过bokeh.plotting接口创建图像的基本步骤如下:

1.准备数据(如这个例子中的lise列表)

2.告诉Bokeh将文件输出的位置(这个例子中用的是output_file(),并制定lines.html作为文件名保存)

3.调用figure()去创建图形,并设置一些全体的参数,如标题,工具,轴标签等。

4.为数据添加渲染器(这个例子中的Figure.line),并加入一些可视化的定制,比如颜色,图标以及这个图形的宽度等

5.Bokehshow()或者save()

其中步骤3,4可以重复创建不止一个图形,详情见下面的其他实例。

 

bokeh.plotting接口也非常便利,如果我们需要在输出更多的一些自定义的数据序列,图标,指数轴线等。它当然也可以非常简单的组合多个图标在一张图形上,如下图所示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from  bokeh.plotting  import  figure, output_file, show
# prepare some data
=  [ 0.1 0.5 1.0 1.5 2.0 2.5 3.0 ]
y0  =  [i * * 2  for  in  x]
y1  =  [ 10 * * for  in  x]
y2  =  [ 10 * * (i * * 2 for  in  x]
 
# output to static HTML file
output_file( "log_lines.html" )
 
# create a new plot
=  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 = "y=x" )
p.circle(x, x, legend = "y=x" , fill_color = "white" , size = 8 )
p.line(x, y0, legend = "y=x^2" , line_width = 3 )
p.line(x, y1, legend = "y=10^x" , line_color = "red" )
p.circle(x, y1, legend = "y=10^x" , fill_color = "red" , line_color = "red" , size = 6 )
p.line(x, y2, legend = "y=10^x^2" , line_color = "orange" , line_dash = "4 4" )
 
# show the resultsshow(p)

wKioL1Y4Sc-Q9gaHAAEOoPu5Q0c772.jpg

    很好看,有没有

 

后记:搜了一下51cto的视频学院,不管是免费的还是收费的,居然都没有数据分析的课程,虽然自不量力,但是也希望在51CTO上录一个通过numpymatplotlibpandas的数据分析课程,一方面借鉴国外视频的先进经验,一方面也整理下自己的心得。这里有个不错的视频教程,关于pandas的,但是全英文的。

Learning Python for Data Analysis

链接:http://pan.baidu.com/s/1eQoEeeY 密码:x6of

有兴趣的可以瞧瞧。

 





本文转自 youerning 51CTO博客,原文链接:http://blog.51cto.com/youerning/1709113
相关文章
|
4月前
|
机器学习/深度学习 数据可视化 API
Matplotlib从入门到精通01-matplotlib简介与绘图基本流程
Matplotlib从入门到精通01-matplotlib简介与绘图基本流程
Matplotlib从入门到精通01-matplotlib简介与绘图基本流程
|
4月前
|
数据可视化 数据挖掘 API
seaborn从入门到精通02-绘图功能概述
seaborn从入门到精通02-绘图功能概述
seaborn从入门到精通02-绘图功能概述
|
8月前
|
数据可视化 JavaScript 数据挖掘
python数据可视化神器--pyecharts 快速入门
python数据可视化神器--pyecharts 快速入门
BXA
|
11月前
|
并行计算 数据可视化 数据挖掘
Python可视化:Matplotlib基础教程
Matplotlib是一个用于创建静态、动态、交互性可视化图表的开源库,具有如下特点: * 可以创建2D或3D的图形,包括线性图、条形图、散点图、饼图、直方图等 * 可定制图形的各个属性,包括图形的大小、颜色、线型、标签、注释等 * 支持多种底层绘图库,包括Tkinter、wxPython、Qt、GTK等
BXA
140 0
|
数据可视化 Python
WordCloud词云库快速入门(一)
wordcloud是优秀的词云展示第三方库,以词语为基本单位,通过图形可视化的方式,更加直观和艺术的展示文本。
264 0
|
数据可视化 数据挖掘 Python
10分钟入门Matplotlib: 数据可视化介绍&使用教程(一)
10分钟入门Matplotlib: 数据可视化介绍&使用教程(一)
143 0
10分钟入门Matplotlib: 数据可视化介绍&使用教程(一)
|
数据可视化 Python Perl
10分钟入门Matplotlib: 数据可视化介绍&使用教程(三)
10分钟入门Matplotlib: 数据可视化介绍&使用教程(三)
119 0
10分钟入门Matplotlib: 数据可视化介绍&使用教程(三)
|
数据可视化 BI Python
10分钟入门Matplotlib: 数据可视化介绍&使用教程(二)
10分钟入门Matplotlib: 数据可视化介绍&使用教程(二)
169 0
10分钟入门Matplotlib: 数据可视化介绍&使用教程(二)
|
数据可视化 搜索推荐 Python
Matplotlib数据可视化:入门及组件介绍
Matplotlib数据可视化:入门及组件介绍
Matplotlib数据可视化:入门及组件介绍
|
数据可视化
seaborn可视化入门
seaborn可视化入门 案例部分 案例01-pairplot对图 案例02-heatmap热力图 案例3boxplot箱型图 案例4violin小提琴图 案例5 Density plot密度图
seaborn可视化入门

相关实验场景

更多