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

Python Holoviz Panel如何将图表y轴设置到右侧

Holoviz Panel 调整Y轴到右侧的实现方法

p.y_axis_label_text_align = 'right'仅控制Y轴标签的文本对齐方向,不改变坐标轴本身的渲染位置,因此不会生效。Panel本身不直接定义坐标轴位置配置,该属性由图表对应的绘图后端控制,默认后端为Bokeh,对应配置方法如下:


原生Bokeh图表嵌入Panel场景

直接修改Bokeh图表实例的yaxis_location属性即可,示例代码:

import panel as pn
import numpy as np
from bokeh.plotting import figure

pn.extension()

# 测试数据
x = np.linspace(0, 10, 100)
y = np.sin(x)

# 创建基础图表
fig = figure(width=600, height=400, title="Y轴居右示例")
fig.line(x, y, line_width=2)

# 核心配置:指定Y轴渲染位置为右侧
fig.yaxis_location = "right"
fig.yaxis.axis_label = "sin(x)"

# 嵌入Panel渲染
pn.pane.Bokeh(fig).servable()

配置后左侧默认Y轴会自动隐藏,不需要额外手动设置隐藏属性。


HoloViews/hvPlot 高阶绘图场景

如果是用HoloViews或者hvPlot生成的图表(Panel生态最常用的高阶绘图方式),通过.opts()配置yaxis参数即可,示例代码:

import panel as pn
import holoviews as hv
import numpy as np
import pandas as pd

hv.extension("bokeh")
pn.extension()

# 测试数据
df = pd.DataFrame({
    "x": np.linspace(0, 10, 100),
    "y": np.cos(x)
})

# 绘制图表并配置Y轴位置
curve = hv.Curve(df, kdims="x", vdims="y").opts(
    width=600,
    height=400,
    yaxis="right", # 核心配置:Y轴移至右侧
    ylabel="cos(x)",
    title="HoloViews Y轴居右示例"
)

# 渲染为Panel组件
pn.panel(curve).servable()

拓展说明:如果需要实现左右双Y轴效果,只需要额外配置extra_y_ranges添加第二个Y轴映射即可,单Y轴场景下上述两个参数就可以满足需求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 22:12:25