
本文介绍如何在 Bokeh 绘图中实现双 Y 轴,并允许用户独立缩放其中一个 Y 轴,保持另一个 Y 轴固定。通过使用 extra_y_ranges 和 Range1d 创建双 Y 轴,并调整缩放行为,我们可以实现更灵活的数据可视化。
在 Bokeh 绘图中,有时我们需要展示具有不同量纲或取值范围的数据。这时,双 Y 轴就显得非常有用。然而,默认情况下,缩放操作会同时影响两个 Y 轴。本文将介绍如何创建双 Y 轴绘图,并允许用户独立缩放其中一个 Y 轴,保持另一个 Y 轴的刻度范围固定。
首先,我们需要使用 extra_y_ranges 和 Range1d 创建双 Y 轴。extra_y_ranges 允许我们在 Bokeh 图中添加额外的 Y 轴范围,而 Range1d 则用于定义这些范围的起始和结束值。
以下是一个创建双 Y 轴绘图的示例代码:
from bokeh.plotting import figure, show
from bokeh.models import Range1d
# 创建数据
x = [1, 2, 3, 4, 5]
y1 = [6, 7, 2, 4, 5]
y2 = [2, 3, 4, 5, 6]
# 创建绘图对象
p = figure(width=400, height=400)
# 创建额外的 Y 轴范围
p.extra_y_ranges = {"y2_range": Range1d(start=0, end=10)}
# 添加线条到绘图
line1 = p.line(x, y1, color="n*y", legend_label="Line 1")
line2 = p.line(x, y2, color="firebrick", y_range_name="y2_range", legend_label="Line 2")
# 添加第二个 Y 轴
p.add_layout(p.extra_y_ranges['y2_range'], 'right')
# 设置轴标签
p.yaxis.axis_label = "Y1"
p.extra_y_ranges['y2_range'].start = 0
p.extra_y_ranges['y2_range'].end = 10
p.yaxis.formatter.precision = 0
p.yaxis.major_label_orientation = "vertical"
p.right.axis_label = "Y2"
# 显示绘图
show(p)这段代码首先创建了两个列表 y1 和 y2 作为要绘制的数据。然后,创建了一个 Bokeh 图形对象 p。关键部分是 p.extra_y_ranges = {"y2_range": Range1d(start=0, end=10)},这定义了一个名为 "y2_range" 的额外 Y 轴范围,并设置了其起始值为 0,结束值为 10。 line2 通过 y_range_name="y2_range" 与这个额外的 Y 轴关联。 最后,使用 p.add_layout 将这个额外的 Y 轴添加到绘图的右侧。
默认情况下,Bokeh 的缩放工具会同时影响所有的 Y 轴。为了实现独立缩放,我们需要自定义缩放行为。虽然Bokeh本身没有直接提供独立缩放的选项,但可以通过修改坐标轴的 renderers 属性来间接实现。然而,根据提供的信息,直接修改 renderers 属性并不能达到目的。
ViiTor AI
一个强大的多语言AI语音合成和视频转译平台
9414
查看详情
一个可行的解决方案是使用 J*aScript 回调函数来控制 Y 轴的范围。
注意事项:
总结:
通过 extra_y_ranges 和 Range1d,我们可以方便地创建双 Y 轴绘图。 虽然 Bokeh 默认的缩放行为会同时影响所有 Y 轴,但我们可以通过调整 renderers 属性或使用 J*aScript 回调函数来实现独立 Y 轴缩放,从而满足更复杂的可视化需求。根据原始问题提供的信息,查阅相关链接是获取更详细解决方案的最佳途径。
以上就是Bokeh 双 Y 轴绘图:如何实现独立 Y 轴缩放的详细内容,更多请关注其它相关文章!
# 相关链接
# 柴文磊seo博客分享
# 黄岛网站优化软件
# 怀柔区特殊网站建设调整
# 平山网站快照优化多少钱
# 柳州seo公司方便火星
# 网站推广了吗
# 珠海seo推广多少钱
# 成都小程序网站建设
# 产后营销活动推广方案
# 搜索淘宝关键词网站排名
# 是一个
# 值为
# javascript
# 其中一个
# 可以通过
# 遍历
# 如何实现
# 迭代
# 迷思
# 回调
# 数据可视化
# 工具
# 回调函数
# java
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
优化推广96088 】
【
技术知识133117 】
【
IDC资讯59369 】
【
网络运营7196 】
【
IT资讯61894 】
相关推荐:
MongoDB聚合管道:高效统计列表中各项的文档数量
J*a实现任务清单管理_集合框架综合入门练手
win11资源管理器标签页怎么用 Win11文件管理器多标签高效操作【新功能】
圆通快递官方入口不需要登录 在线查询入口快速查询
t3出行如何使用微信支付
B站怎么开|直播| B站|直播|申请需要什么条件【新手必看】
Win11如何分屏操作_Win11多窗口分屏技巧
飞飞漫画漫画阅读官网_飞飞漫画漫画阅读官网进入阅读
电脑从睡眠中被自动唤醒怎么办_Windows唤醒源事件查看与禁用【解决】
解决PHP MySQL数据库更新无响应:SQL查询语法错误解析
PHP utf8_encode 字符编码转换陷阱与解决方案
NumPy 高性能技巧:基于多列条件查找最近邻行索引的向量化实现
易车网官网直达入口 易车网在线登录入口
哔哩哔哩在线观看入口 B站官网免费进入
西瓜视频怎么查看访客记录_西瓜视频访客记录查看方法
Windows 11怎么删除恢复分区_Windows 11使用Diskpart命令强行删除分区
圆通快递官网入口查询单号 手机版官方查询入口
小红书网页版怎么进 小红书网页版通用入口
如何配置VS Code作为您Git操作的默认编辑器
自定义你的VS Code状态栏,监控关键信息
小红书如何引流到私信?引流到私信有用吗?
火狐浏览器如何刷新修复浏览器 火狐浏览器“重置Firefox”功能详解
鸣潮历史学家灯塔位置一览
Yandex无需登录畅游 俄罗斯搜索引擎最新官网指南
键盘测试软件哪个好_键盘故障检测工具推荐
win11讲述人怎么关闭 Win11屏幕朗读辅助功能禁用方法【技巧】
《跳跳舞蹈》循环播放方法
Win10锁屏时间怎么设置 Win10调整自动锁屏时间方法
一加 Ace 6V 快充无法启用_一加 Ace 6V 充电优化
掌握产品代码正则表达式:避免常见陷阱与精确匹配
《狐友》联系客服方法
MySQL多重关联查询:利用别名高效获取同一表的多个关联字段
极兔快递官网查询入口手机版 手机极兔快递登录查询入口官方
如何在 WordPress 前端实现内容提交:古腾堡编辑器的替代方案与实践
《爱笔思画x》魔棒工具抠图教程
《长生:天机降世》火塔小怪大全
sublime如何处理超大文件不卡顿 _sublime打开大日志文件技巧
如何使用 Optional 类型并满足 Pylint 的类型检查
漫蛙manwa官网浏览入口_漫蛙漫画网页版访问链接
《tt语音》超级玩家开通方法
在J*a中如何实现在线问答与评分系统_问答评分项目开发方法说明
Python高效统计字典嵌套列表值在目标列表中的出现次数
快手极速版在线体验区 快手极速版网页体验入口
如何使用 composer 和 aop-php 实现 AOP 编程?
纯CSS实现滚动时动态时间轴线条颜色填充效果
51漫画网实时入口 51漫画网页版官方免费漫画入口
《下一站江湖2》武器获取方法
淘口令快速解析技巧
wps文字怎么设置文字环绕图片的方式_wps文字如何设置文字环绕图片方式
sublime如何配置PHP开发环境_在sublime中运行与调试PHP代码
2025-11-03
运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。