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

如何在Bokeh中旋转轴名称并优化年月显示清晰度?

嘿,很高兴能帮到你!针对你提到的两个需求——让年月信息更清晰、旋转轴名称,我来一步步给你说明怎么在Bokeh里实现:

一、让图表中的年月信息显示更清晰

年月信息显示模糊通常是因为刻度标签格式不对、密度太高或者重叠导致的,咱们可以从这几个方向调整:

1. 使用时间专用的坐标轴与格式化器

如果你的年月数据是datetime类型,一定要把x轴设置为datetime类型,然后用DatetimeTickFormatter自定义显示格式,比如直接显示年-月的格式:

from bokeh.plotting import figure, show
from bokeh.models import DatetimeTickFormatter, MonthsTicker
import pandas as pd
import math

# 模拟带年月的时间序列数据
dates = pd.date_range(start="2020-01", end="2023-12", freq="M")
values = [i**0.5 for i in range(len(dates))]

# 创建图表,指定x轴为时间类型
p = figure(x_axis_type="datetime", width=800, height=400, title="年月数据示例")
p.line(dates, values, line_width=2)

# 设置x轴刻度的显示格式,强制年月显示为「年-月」
p.xaxis.formatter = DatetimeTickFormatter(
    months=["%Y-%m"],  # 月份刻度显示格式
    years=["%Y-%m"]    # 年份刻度显示格式
)

2. 调整刻度密度,避免重叠

如果刻度太多导致挤在一起,可以用MonthsTicker或YearsTicker控制显示的间隔,比如每3个月显示一个刻度:

# 每3个月显示一个刻度(1、4、7、10月)
p.xaxis.ticker = MonthsTicker(months=[1,4,7,10])

3. 倾斜刻度标签(针对分类式年月)

如果你的年月是字符串类型的分类数据(比如["2020-01", "2020-02"...]),可以倾斜刻度标签防止重叠:

# 倾斜45度(用弧度表示,math.pi/4对应45度)
p.xaxis.major_label_orientation = math.pi/4
二、旋转轴名称(轴标签)

要旋转轴的名称(比如x轴的“年月”这个标签),只需要设置axis_label_orientation参数即可,支持弧度或预设字符串(比如"vertical"):

# 设置x轴名称
p.xaxis.axis_label = "年月"
# 旋转45度(用弧度)
p.xaxis.axis_label_orientation = math.pi/4
# 或者直接设置垂直旋转
# p.xaxis.axis_label_orientation = "vertical"
完整示例代码

把上面的功能整合起来,完整代码如下:

from bokeh.plotting import figure, show
from bokeh.models import DatetimeTickFormatter, MonthsTicker
import pandas as pd
import math

# 模拟数据
dates = pd.date_range(start="2020-01", end="2023-12", freq="M")
values = [i**0.5 for i in range(len(dates))]

p = figure(x_axis_type="datetime", width=800, height=400, title="年月数据优化示例")
p.line(dates, values, line_width=2)

# 优化年月显示
p.xaxis.formatter = DatetimeTickFormatter(months=["%Y-%m"], years=["%Y-%m"])
p.xaxis.ticker = MonthsTicker(months=[1,4,7,10])
p.xaxis.major_label_orientation = math.pi/4

# 旋转轴名称
p.xaxis.axis_label = "年月"
p.xaxis.axis_label_orientation = math.pi/4

show(p)

这样调整后,你的年月信息会更清晰,轴名称也按你想要的角度旋转啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:33:46