Bokeh 相当于 matplotlib 子图

2024-05-06

我正在寻找一种方法来创建包含多个子图的绘图,例如

fig, (ax0, ax1) = plt.subplots(nrows=2, sharex=True)

可以在 matplotlib 中完成,然后可以通过以下方式解决ax0 and ax1。有没有办法在 Bokeh 中做类似的事情?在散景中examples http://bokeh.pydata.org/docs/gallery.html画廊我只找到了单个地块。


我认为您可以找到的更简单的示例是:

import numpy as np
import bokeh.plotting as bk_plotting
import bokeh.models as bk_models

# for the ipython notebook
bk_plotting.output_notebook()

# a random dataset
data = bk_models.ColumnDataSource(data=dict(x=np.arange(10),
                                            y1=np.random.randn(10),
                                            y2=np.random.randn(10)))

# defining the range (I tried with start and end instead of sources and couldn't make it work)
x_range = bk_models.DataRange1d(sources=[data.columns('x')])
y_range = bk_models.DataRange1d(sources=[data.columns('y1', 'y2')])

# create the first plot, and add a the line plot of the column y1
p1 = bk_models.Plot(x_range=x_range,
                    y_range=y_range,
                    title="",
                    min_border=2,
                    plot_width=250,
                    plot_height=250)
p1.add_glyph(data,
             bk_models.glyphs.Line(x='x',
                                   y='y1',
                                   line_color='black',
                                   line_width=2))

# add the axes
xaxis = bk_models.LinearAxis()
p1.add_layout(xaxis, 'below')
yaxis = bk_models.LinearAxis()
p1.add_layout(yaxis, 'left')

# add the grid
p1.add_layout(bk_models.Grid(dimension=1, ticker=xaxis.ticker))
p1.add_layout(bk_models.Grid(dimension=0, ticker=yaxis.ticker))

# add the tools
p1.add_tools(bk_models.PreviewSaveTool())

# create the second plot, and add a the line plot of the column y2
p2 = bk_models.Plot(x_range=x_range,
                    y_range=y_range,
                    title="",
                    min_border=2,
                    plot_width=250,
                    plot_height=250)
p2.add_glyph(data,
             bk_models.glyphs.Line(x='x',
                                   y='y2',
                                   line_color='black',
                                   line_width=2))



# add the x axis
xaxis = bk_models.LinearAxis()
p2.add_layout(xaxis, 'below')

# add the grid
p2.add_layout(bk_models.Grid(dimension=1, ticker=xaxis.ticker))
p2.add_layout(bk_models.Grid(dimension=0, ticker=yaxis.ticker))

# add the tools again (it's only displayed if added to each chart)
p2.add_tools(bk_models.PreviewSaveTool())

# display both
gp = bk_plotting.GridPlot(children=[[p1, p2]])
bk_plotting.show(gp)

生成输出:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Bokeh 相当于 matplotlib 子图 的相关文章

随机推荐

  • 无法打开“storage/logs/laravel-2019-11-22.log”:无法打开流:权限被拒绝

    在生产服务器上输入我的网站时出现以下错误 无法打开流或文件 var app current storage logs laravel 2019 11 22 log 无法打开流 权限被拒绝 我尝试运行以下命令 但 git 权限在终端中被拒绝
  • 所选设备不兼容 - Android Studio

    我之前已经解决了这个问题 但现在不能 我需要永久修复 在测试我的应用程序时 Android Studio 中的一切都很顺利 我现在遇到了 所选设备不兼容 的问题 当我去运行应用程序时 我想知道如何阻止它读取我手机的 API 作为 1 而不是
  • 使用媒体查询将 CSS 应用于除 IE 之外的所有浏览器

    我找到了一种将媒体查询应用于 IE 的方法 media ms high contrast none ms high contrast active 有没有办法将 CSS 应用于除 IE 之外的所有浏览器 就像是 media not ms h
  • asp.net 内联代码 <%# MyboolVal %>

    我一定在这里错过了一些愚蠢的东西 但我看不到它 我的工作在他们的网站上使用内联代码 例如
  • 从光栅计算器传输到 R 的条件命令

    到目前为止 我在ArcGIS的栅格计算器中使用了以下语句 Con Land use rst 20 Export rst 这会计算一个新栅格 其中仅包含来自导出的数据 其中 Land use 等于 20 这正是我想要的 但我想自动化这个R 因
  • Docker:Nginx 和 php5-fpm docker 不说话

    我想进行完全 Docker 化的 Drupal 安装 我的第一步是让容器与 Nginx 和 php5 fpm 一起运行 两者都基于 Debian 我在 CoreOS alpha 频道 使用 Digital Ocean 我的 Dockerfi
  • 如何让Register-ObjectEvent在后台运行?

    我有一个使用 PowerShell 的脚本Register ObjectEvent观察文件夹的更改 由于 Register ObjectEvent 仅在 PowerShell 会话处于活动状态时才起作用 因此我需要保持 PowerShell
  • C# 中的监视器与互斥体[重复]

    这个问题在这里已经有答案了 可能的重复 C 中各种线程同步选项之间有什么区别 https stackoverflow com questions 301160 what are the differences between various
  • CSS 中的垂直线(与
    相对)

    我知道它不存在 但是有纯CSS版本吗 想要设置高度 并将其设置为 1px 宽 如果可能的话 带有阴影 只是无法理解纯 CSS 的方式来做到这一点 需要绝对定位 因为我的容器有两个并排的 div 例如 60 40 的分割 需要两者之间的垂直规
  • 在 Kivy 应用程序中获取文本输入值

    Python Kivy 新手尝试构建一个测试应用程序 其中包含输入框 确定按钮和单击确定按钮时应更改文本的标签 但我得到了 NameError 全局名称 txt1 未定义 我究竟做错了什么 import Kivy import kivy i
  • 无法从同一项目的 bin 目录导入模块

    我正在构建一个库 该库将通过 pip 包含在其他项目中 我有以下目录 venv 是 virtualenv project bin run py myproj init py logger py venv 我激活虚拟环境 在 bin run
  • 减法进位标志

    我正在使用 MASM32 有了这个代码 mov eax 5 sub eax 10 CF 状态标志将被设置 但使用我的铅笔和纸 我实际上看到 MSB 没有任何进位 是的 我知道从较少的数字中减去大的数字集CF 但我想知道为什么 因为使用这段代
  • 等待多个延迟对象完成并使用解析值

    我正在尝试找出一种方法来等待多个延迟对象并在完成后处理它们 可能就像开始延迟对象的下一组 我被困住了 因为以下结果不是预期的结果 我期待结果为 allDone resovled values are 1 2 3 实际结果是 allDone
  • Android EditText 验证后更改焦点并在对话框中显示错误

    我有一个带有 3 个 EditText 字段的简单活动 用户 通行证 确认 在 用户 字段中输入内容并且该人在键盘上单击 下一步 后 我在那里有一个 setOnFocusChangeListener 来验证输入 如果验证失败 将打开一个对话
  • 将 Django South 与多个代码分支结合使用的工作流程

    我很好奇其他 Django 开发人员在使用多个代码分支进行开发时如何使用 South 管理数据库迁移 让我举一个示例场景 举例来说 您从主干开始开发 您从主干创建分支 A 此时 最后一个迁移版本为app 1是0010 然后您为app 1在创
  • Ajax - 下载前获取文件大小

    基本上 我想弄清楚是否应该使用 AJAX 下载文件 具体取决于文件大小有多大 我想这个问题也可以改写为 如何仅获取ajax请求的标头 EDIT ultima rat0 https stackoverflow com users 239962
  • 如何使用流对 Map 中的值求和?

    我想要与流等效的内容 public static
  • 当用户拖动列表视图项目时检测何时需要滚动

    介绍 我正在实现列表视图项目的重新排列 而不使用 OLE 拖放 PROBLEM 我已经成功解决了大部分任务 除了当用户想要将项目放置在当前不可见的位置时向上 向下滚动之外 问题 我可以使用以下消息向上 向下滚动列表视图 SendMessag
  • LegacyUnhandledExceptionPolicy 不允许捕获(并吞下)ThreadAbortException?

    我正在使用 NET 1 1 兼容模式来处理未处理的异常 问题是 当 LegacyUnhandledExceptionPolicy 设置为 1 这就是我想要的 时 我无法捕获并吞下 ThreadAbortException 示例代码 应用程序
  • Bokeh 相当于 matplotlib 子图

    我正在寻找一种方法来创建包含多个子图的绘图 例如 fig ax0 ax1 plt subplots nrows 2 sharex True 可以在 matplotlib 中完成 然后可以通过以下方式解决ax0 and ax1 有没有办法在