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

Plotly绘制热力图仅显示50个Y轴坐标,如何展示全量数据?

解决Plotly热力图Y轴仅显示部分ID的问题

当你的DataFrame包含10000个唯一ID时,Plotly会默认对Y轴标签进行采样(只显示部分)来避免界面拥挤。要展示全部ID,需要强制指定Y轴的所有刻度值:

核心修改代码

在创建热力图后,添加Y轴的自定义配置:

import plotly.graph_objects as go
import pandas as pd

df = pd.read_csv("my_data.csv")
fig = go.Figure(data=go.Heatmap(
    z=df['B'],
    x=df['Year'],
    y=df['ID'],
    colorscale='Viridis'))

# 强制显示所有ID作为Y轴刻度
fig.update_layout(
    yaxis=dict(
        tickmode='array',
        tickvals=df['ID'].unique(),  # 传入所有唯一ID
        tickangle=45,  # 倾斜标签避免重叠,可选
        tickfont=dict(size=8),  # 缩小字体,可选
        fixedrange=False  # 开启Y轴滚动,可选
    ),
    height=1000  # 调整图表高度适配更多刻度,可选
)

fig.write_html("test.html")

额外优化提示

  • 开启fixedrange=False后,生成的HTML页面可以通过鼠标滚轮或拖拽Y轴区域来滚动查看全部ID
  • 若标签仍有重叠,可继续缩小字体大小,或把tickangle设为90让标签垂直显示

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 06:55:22