
Bokeh是一个面向web浏览器的python交互可视化库,利用Bokeh可以快速创建交互式图表、仪表板以及数据应用程序。

从Bokeh的Gallery可以看出其绘制的图表非常美观,其交互式图表更是炫酷。
然而我们平时更多的是使用Pandas来进行数据分析和处理,Pandas自身也提供了简单的图形绘制API,不过其功能比较简单。
所以为了将Pandas和Bokeh结合,就有了pandas_bokeh。
pandas_bokeh为 Pandas、GeoPandas 和 Pyspark 的 DataFrames 提供了 Bokeh 绘图支持,其调用语法和 pandas 自身的df.plot
十分类似,导入 pandas_bokeh 库会在 pandas 的 DataFrames 和 Series 上添加一个补充的绘图方法 plot_bokeh()
。
使用pandas_bokeh绘制令人惊叹的交互式可视化图表只需简单地调用df.plot_bokeh()
即可。
安装
pip install pandas-bokeh
# or
conda install -c patrikhlobil pandas-bokeh
使用
pandas_bokeh应该在Pandas、GeoPandas 或者 Pyspark之后导入(import) 生成的图表有两种输出格式: pandas_bokeh.output_notebook()
:直接在jupyter notebook中显示结果import pandas as pd
import pandas_bokeh
pandas_bokeh.output_notebook()pandas_bokeh.output_file(filename)
:将图表导出到指定的HTML文件里import pandas as pd
import pandas_bokeh
pandas_bokeh.output_file("Interactive Plot.html")
示例
线图
import numpy as np
import pandas as pd
import pandas_bokeh
pandas_bokeh.output_notebook()
df = pd.DataFrame({
'Year': np.arange(2010, 2020),
'Users': np.random.randint(100, 250, 10)
})
df.plot_bokeh.line(
x='Year',
y='Users',
figsize=(800, 600),
ylim=(100, 250),
zooming=True,
panning=True,
show_figure = True,
plot_data_points=True,
plot_data_points_size=8,
marker="circle"
)

可以看到生成的图表交互效果特别好,且支持缩放、平移、悬浮提示等。 实际上里面的各个参数都支持自定义。
多线图:
df = pd.DataFrame({
'Year': np.arange(2010, 2020),
'A': np.random.randint(200, 300, 10),
'B' : np.random.randint(200, 300, 10),
'C' : np.random.randint(200, 300, 10)
})
df.plot_bokeh.line(
x='Year',
figsize=(1000, 600),
ylim=(200, 300),
zooming=True,
panning=True,
show_figure = True,
plot_data_points=True,
plot_data_points_size=8,
marker="circle"
)

柱形图
data = {
'fruits':
['Apples', 'Pears', 'Nectarines', 'Plums', 'Grapes', 'Strawberries'],
'2015': [2, 1, 4, 3, 2, 4],
'2016': [5, 3, 3, 2, 4, 6],
'2017': [3, 2, 4, 4, 5, 3]
}
df = pd.DataFrame(data).set_index("fruits")
p_bar = df.plot_bokeh(
kind = 'bar',
ylabel="Price per Unit [€]",
title="Fruit prices per Year",
alpha=0.6)m/PatrikHlobil/Pandas-Bokeh#mapplot)

是不是非常方便!
最后
pandas_bokeh支持的图表类型及具体参数可以查看其文档: https://github.com/PatrikHlobil/Pandas-Bokeh#mapplot
另外 pands_bokeh 也可以结合 bokeh 来使用,比如用pandas_bokeh画图想要改变图表主题色,可直接用 bokeh 的 theme color 来实现。
文章转载自DataGirl,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




