使用 Python 进行数据可视化之Bokeh(1)

例子:


# 导入模块

from bokeh.plotting import figure, output_file, show

import pandas as pd





# 实例化图形对象

graph = figure(title = "Bokeh Bar Chart")



# 读取数据库

data = pd.read_csv("tips.csv")



# 绘制图形

graph.vbar(data['total_bill'], top=data['tip'])



# 展示模型

show(graph)



输出:

image.png

交互式数据可视化


Bokeh 的主要功能之一是为绘图添加交互性。 让我们看看可以添加的各种交互。

Interactive Legends

click_policy 属性使图例具有交互性。 有两种类型的交互

  • 隐藏:隐藏字形。

  • 静音:隐藏字形使其完全消失,另一方面,静音字形只是根据参数去强调字形。

例子:


# 导入模块

from bokeh.plotting import figure, output_file, show

import pandas as pd





# 实例化图形对象

graph = figure(title = "Bokeh Bar Chart")



# 读取数据库

data = pd.read_csv("tips.csv")



# 绘制图形

graph.vbar(data['total_bill'], top=data['tip'],

		legend_label = "Bill VS Tips", color='green')



graph.vbar(data['tip'], top=data['size'],

		legend_label = "Tips VS Size", color='red')



graph.legend.click_policy = "hide"



# 展示模型

show(graph)



输出:

interactivelegendsbokeh.gif

添加小部件

Bokeh 提供了类似于 HTML 表单的 GUI 功能,如按钮、滑块、复选框等。这些为绘图提供了一个交互界面,允许更改绘图参数、修改绘图数据等。让我们看看如何使用和添加一些常用的小部件。

按钮

这个小部件向绘图添加了一个简单的按钮小部件。 我们必须将自定义 JavaScript 函数传递给模型类的 CustomJS() 方法。

复选框

向图中添加标准复选框。与按钮类似,我们必须将自定义 JavaScript 函数传递给模型类的 CustomJS() 方法。

单选按钮

添加一个简单的单选按钮并接受自定义 JavaScript 函数。

例子:


from bokeh.io import show

from bokeh.models import Button, CheckboxGroup, RadioGroup, CustomJS



button = Button(label="GFG")



button.js_on_click(CustomJS(

	code="console.log('button: click!', this.toString())"))



# 复选框和单选按钮的标签

L = ["First", "Second", "Third"]



# 活动参数集默认检查选定的值

checkbox_group = CheckboxGroup(labels=L, active=[0, 2])



checkbox_group.js_on_click(CustomJS(code="""

	console.log('checkbox_group: active=' + this.active, this.toString())

"""))



# 活动参数集默认检查选定的值

radio_group = RadioGroup(labels=L, active=1)



radio_group.js_on_click(CustomJS(code="""

	console.log('radio_group: active=' + this.active, this.toString())

"""))



show(button)

show(checkbox_group)

show(radio_group)



输出:

image.pngimage.pngimage.png

注意: 所有这些按钮都将在新选项卡上打开。

滑块: 向绘图添加一个滑块。 它还需要一个自定义的 JavaScript 函数。

示例:


from bokeh.io import show

from bokeh.models import CustomJS, Slider



slider = Slider(start=1, end=20, value=1, step=2, title="Slider")



slider.js_on_change("value", CustomJS(code="""

	console.log('slider: value=' + this.value, this.toString())

"""))



show(slider)



输出:

bokehtutorialslider.gif

同样,更多的小部件可用,如下拉菜单或选项卡小部件可以添加。

下一节我们继续谈第四个库—— Plotly

🥇 评论区抽粉丝送书啦


💌 欢迎大家在评论区提出意见和建议! (抽两位幸运儿送书,实物图如下)💌

在这里插入图片描述

《Python Web开发从入门到精通》

【内容简介】

**本书分为3部分:第1部分是基础篇,带领初学者实践Python开发环境和掌握基本语法,同时对网络协议、Web客户端技术、数据库建模编程等网络编程基础深入浅出地进行学习;第2部分是框架篇,学习当前*流行的Python Web框架,即Django、Tornado、Flask和Twisted,达到对各种Python网络技术融会贯通的目的;第3部分是实战篇,分别对几种常用WEB框架进行项目实践,利用其各自的特点开发适用于不同场景的网络程序。

本书内容精练、重点突出、实例丰富、讲解通俗,是广大网络应用设计和开发人员不可多得的一本参考书,同时非常适合大中专院校师生学习和阅读,也可作为高等院校计算机及相关培训机构的教材。**

也有不想靠抽,想自己买的同学可以参考下面的链接

京东自营购买链接:

《Python Web开发从入门到精通》- 京东图书

当当自营购买链接:

《Python Web开发从入门到精通》- 当当图书

🥇 Python 进行数据可视化系列汇总

📣 注意:

大家点赞关注,三天后也就是 11月4日 从评论区留言的同学中抽取两位送书

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

(img-s5P4yXhR-1713755632557)]

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

  • 30
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值