之前我们介绍过 Python 里面的一些数据分析和可视化工具,比如 Pandas、Modin、Dash 等。今天要介绍一款标星 12.1K 的数据可视化工具 bokeh,优雅、简洁、高性能的交互式可视化库,同时支持大数据量和流式数据。其中 PyPI 和 Conda 每月安装超过 10 万 +,可见 bokeh 非常受欢迎。
安装方式很简单:pip install bokeh
,接下来我们介绍几个示例看一下 bokeh 的使用。
- 曲线 / 折线图
曲线 / 折线图日常用的比较多,能够用来直接看一些数据增长趋势,比如数学里面比较典型的几个表示趋势的函数如下:
通过差不多 20 行代码就能实现上图的效果。
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="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 results
show(p)
- 点状染色图
这种类型的图可以分析很多的东西,通过色彩、点的大小的不同,但是我每次都觉得非常炫酷,至于能不能直观的看出什么我并不在意,就是那么任性。
import numpy as npfrom bokeh.plotting import figure, output_file, show# prepare some data
N = 4000
x = np.random.random(size=N) * 100
y = np.random.random(size=N) * 100
radii = np.random.random(size=N) * 1.5
colors = ["#%02x%02x%02x" % (int(r), int(g), 150) for r, g in zip(50+2*x, 30+2*y)
]# output to static HTML file (with CDN resources)
output_file("color_scatter.html", title="color_scatter.py example", mode="cdn")TOOLS = "crosshair,pan,wheel_zoom,box_zoom,reset,box_select,lasso_select"# create a new plot with the tools above, and explicit ranges
p = figure(tools=TOOLS, x_range=(0, 100), y_range=(0, 100))# add a circle renderer with vectorized colors and sizes
p.circle(x, y, radius=radii, fill_color=colors, fill_alpha=0.6, line_color=None)# show the results
show(p)
整体来看,Python 开发的库都比较简洁好用,人生苦短我用 Python 道出了工程师的心声呀。
项目地址:https://github.com/bokeh/bokeh
今天的推荐不知道大家喜欢吗?如果你喜欢,请在文章底部留言和点赞,以表示对我的支持,你们的留言、点赞和转发关注是我持续更新的动力哦!
关注我的微信公众号「非著名程序员」免费领取:
关注我的微信公众号后,对话框直接回复:
回复「赚钱」:免费领取独立开发者经验,程序员赚钱实操教程,教你如何成为独立开发者,国内外独立开发者干货和项目实例。
回复「面试」:免费领取各大校招,春招,秋招以及 BAT ,TMD 等一线大厂面试题及答案。
回复「好书」:送你 100+ 本互联网及编程相关书籍,让你提升认知,开拓眼界,变得牛逼。
回复「Mac」:免费获取优质的 Mac 软件资料和软件大全,工具是提升效率的利器,节省时间,丰富自己,优质的工具在这里等你。
关注非著名程序员第一时间获取更多优质的资料和内容,绝对都是妥妥的干货。
「GitHub 精选」开始接受大家投稿啦