You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Bokeh绘图中始终显示上部X轴与右侧Y轴?是否有简便命令?

在Bokeh中添加上部X轴和右侧Y轴的方法

虽然Bokeh没有专门的"一键添加"命令,但实现这个需求非常直接,只需要几行代码就能搞定。核心思路是手动为图表添加额外的坐标轴,并指定它们的位置。

具体步骤和示例代码

  • 首先创建你的基础图表,然后使用add_layout()方法添加新的坐标轴,通过location参数指定位置为"above"(上部X轴)或"right"(右侧Y轴)。
  • 默认情况下,新添加的轴会和原轴共享数据范围,也就是说上下X轴、左右Y轴的刻度会自动同步,不需要额外配置。
from bokeh.plotting import figure, show
from bokeh.models import LinearAxis

# 创建基础绘图对象
p = figure(
    x_axis_label="底部X轴",
    y_axis_label="左侧Y轴",
    width=700,
    height=450
)
# 绘制示例数据
p.circle([1, 2, 3, 4, 5], [3, 1, 4, 2, 5], size=10)

# 添加上部X轴
top_x = p.add_layout(LinearAxis(axis_label="上部X轴"), "above")
# 可选:自定义轴的样式,比如颜色
top_x.major_label_text_color = "darkblue"

# 添加右侧Y轴
right_y = p.add_layout(LinearAxis(axis_label="右侧Y轴"), "right")
# 可选:自定义刻度格式
right_y.major_label_overrides = {2: "Two", 4: "Four"}

show(p)

额外说明

  • 如果你的图表用的是分类数据,只需要把LinearAxis换成CategoricalAxis即可。
  • 要是需要让新轴使用独立的数据范围,可以单独设置x_range或y_range属性,但大多数场景下共享原轴范围就足够了。
  • 你还可以通过TickFormatter等工具自定义刻度的显示格式,满足不同的可视化需求。

内容的提问来源于stack exchange,提问作者Paul Eigenthaler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:26:24