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

Plotly如何添加垂直滚动条限制展示行数解决标签隐藏与条形过窄问题

Plotly 可滚动条形图解决方案

前置数据处理

首先对数据集按指标维度排序,保证展示顺序符合分析逻辑,示例代码如下:

import plotly.express as px
import pandas as pd

# 替换为你的实际数据集,示例字段:country(国家名称)、vaccination_per_hundred(每百人接种量)
# 按接种量降序排序
df_sorted = df.sort_values("vaccination_per_hundred", ascending=False).reset_index(drop=True)

绘制支持滚动的横向条形图

核心逻辑是设置固定图表高度、限定初始Y轴显示范围,开启范围约束实现滚动效果,示例代码如下:

# 定义单次展示的国家数量
DISPLAY_COUNT = 20
# 按单条高度30px计算总高度,可根据实际需求调整
fig = px.bar(
    df_sorted,
    x="vaccination_per_hundred",
    y="country",
    orientation="h",
    height=DISPLAY_COUNT * 30
)

# 配置Y轴滚动参数
fig.update_layout(
    yaxis = dict(
        # 初始展示前20个国家,索引从0开始,区间偏移0.5避免首尾条形被截断
        range = [-0.5, DISPLAY_COUNT - 0.5],
        # 限制滚动范围不超出数据集边界
        constrainrange = "domain",
        # 调整标签字号避免重叠
        tickfont = dict(size=12)
    ),
    # 给Y轴标签留出足够展示空间,避免国家名称被截断
    margin = dict(l=150)
)

fig.show()

效果说明

  • 图表初始仅展示前20个国家的条形数据,不会出现条形过窄、标签隐藏问题
  • 鼠标放置在Y轴区域滚动滚轮,即可上下滑动查看全部国家数据
  • 条形宽度固定,不会随总数据量增加被压缩

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 05:06:04