Bokeh 为什么我的 Bokeh 图无法在 GitHub 上正常显示
在本文中,我们将介绍为什么在 GitHub 上无法正常显示 Bokeh 图,并提供解决方案和示例说明。
阅读更多:Bokeh 教程
Bokeh 是什么?
Bokeh 是一个用于交互式数据可视化的 Python 库。它提供了丰富的绘图功能,使用户能够轻松创建各种类型的图表和图形。
GitHub 对 Bokeh 图的支持
尽管 Bokeh 提供了强大的绘图功能,但在 GitHub 上显示 Bokeh 图可能会遇到一些问题。这是因为 GitHub 在渲染 Notebook 或 HTML 文件时,不会直接执行 JavaScript 代码,而 Bokeh 图与其他图形库相比依赖于 JavaScript 来呈现交互式图形。
解决方案
要在 GitHub 上正确显示 Bokeh 图,请使用以下解决方案之一:
1. 静态图像替代
Bokeh 图可以导出为静态图像,如 PNG 或 SVG 格式。通过使用 export_png
或 export_svg
函数,可以将 Bokeh 图转换为静态图像,并将其添加到 GitHub 上的文章中。这样可以确保您的 Bokeh 图正确显示,但会丧失交互性。
from bokeh.plotting import figure, show, output_file
from bokeh.io import export_png
p = figure()
# 添加代码绘制 Bokeh 图
# 保存为静态图像
export_png(p, filename="plot.png")
2. 使用 nbviewer
nbviewer 是一个非官方的在线 Jupyter Notebook 查看器,可以将其用于在 GitHub 上显示 Bokeh 图。将 Notebook 文件上传到 GitHub 后,将其链接传递给 nbviewer,即可在该平台上正确显示 Bokeh 图。
3. 在线部署
如果您希望在 GitHub 上显示交互式 Bokeh 图,并且不使用静态图像替代或 nbviewer,可以考虑将 Bokeh 图在线部署。您可以将 Bokeh 图发布到 Web 服务器或云平台,然后将链接添加到 GitHub 上的文章中。这样您的读者可以通过访问链接来与图形进行交互。
示例说明
下面是一个示例说明,演示了如何在 GitHub 上显示 Bokeh 图。
from bokeh.plotting import figure, show, output_file
# 创建 Bokeh 图
p = figure(x_range=(0, 10), y_range=(0, 10))
p.circle(x=[1, 3, 5, 7, 9], y=[2, 4, 6, 8, 10], size=10, color="navy")
# 输出为 HTML 文件
output_file("plot.html")
# 显示 Bokeh 图
show(p)
通过运行上述代码,将生成一个名为 plot.html
的 HTML 文件。将该文件上传到 GitHub 仓库中,并在文章中使用相应的链接引用该文件即可。
总结
在 GitHub 上显示 Bokeh 图需要采用一些特殊的处理方法,因为 Bokeh 图依赖于 JavaScript 来呈现交互式图形。您可以选择将 Bokeh 图转换为静态图像、使用 nbviewer 或在线部署 Bokeh 图来解决此问题。选择适合您需求的解决方案,并确保您的 Bokeh 图能够在 GitHub 上得到正确显示。