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

如何在直方图X轴标签上配置按小时划分的区间桶

直方图X轴小时区间标签设置方案

以下是不同常用可视化工具的实现方法:

Python Matplotlib 实现

直接生成区间格式的自定义标签,绘制直方图后替换默认刻度即可:

import matplotlib.pyplot as plt

# 示例数据,替换为你的实际小时数据
hour_data = [1,3,0,2,1,5,2,3,1,0,4,2,1,3]
# 生成0-1、1-2...23-24格式的标签列表
custom_labels = [f"{h}-{h+1}" for h in range(24)]

# 绘制直方图,设置24个桶,范围0到24
plt.hist(hour_data, bins=24, range=(0, 24), edgecolor="white")
# 设置x轴刻度,+0.5是让标签对齐每个区间桶的中心位置,更符合阅读习惯
plt.xticks(ticks=[h + 0.5 for h in range(24)], labels=custom_labels)
# 可选:x轴标签旋转避免重叠
plt.xticks(rotation=45)
plt.show()

Python Seaborn 实现

逻辑和Matplotlib一致,绘图后修改x轴刻度即可:

import seaborn as sns
import matplotlib.pyplot as plt

custom_labels = [f"{h}-{h+1}" for h in range(24)]
sns.histplot(data=df, x="hour_column", bins=24, binrange=(0,24), edgecolor="white")
plt.xticks(ticks=[h + 0.5 for h in range(24)], labels=custom_labels)
plt.show()

R ggplot2 实现

通过scale_x_continuous自定义刻度和标签:

library(ggplot2)

ggplot(df, aes(x = hour)) +
  geom_histogram(binwidth = 1, boundary = 0, color = "white") +
  scale_x_continuous(
    breaks = seq(0.5, 23.5, 1),
    labels = paste0(0:23, "-", 1:24)
  ) +
  # 可选:旋转x轴标签
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

注意事项:需要确保桶的边界设置和刻度偏移量匹配,避免出现标签和对应区间桶错位的问题。

原始效果参考:
原始直方图效果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 00:57:03