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

Plotly热力图同时实现自由矩形框选缩放与方形像素保持的方案问询

Plotly热力图同时实现自由矩形框选缩放与方形像素保持的方案问询

大家好,我在使用Plotly.js的热力图时碰到了一个棘手的需求矛盾,想请教社区有没有解决办法。目前Plotly.js的热力图有两种缩放行为,但都没法同时满足我的需求:

  • 任意矩形框选,但像素非方形
    这种模式下可以通过点击拖拽绘制任意形状的矩形来缩放,但缩放后的热力图像素不再保持方形,宽高比被改变,这对一些有严格像素比例要求的场景来说并不适用。对应的实现代码如下:

    const z = Array.from({length: 500}, () => Array.from({length: 100}, () => Math.floor(Math.random() * 255)));
    
    Plotly.newPlot('plot', [{type: 'heatmap', z: z}], {});
    
    <script src="https://cdn.plot.ly/plotly-2.16.2.min.js"></script>
    <div id="plot"></div>
    
  • 保持方形像素,但缩放框选受比例限制
    要是通过配置{'yaxis': {'scaleanchor': 'x'}}来强制让像素保持方形,此时框选缩放就只能按照固定的宽高比来进行,这在不少场景下会限制用户的操作自由度,影响体验。对应的实现代码如下:

    const z = Array.from({length: 500}, () => Array.from({length: 100}, () => Math.floor(Math.random() * 255)));
    
    Plotly.newPlot('plot', [{type: 'heatmap', z: z}], {'yaxis': {'scaleanchor': 'x'}});
    
    <script src="https://cdn.plot.ly/plotly-2.16.2.min.js"></script>
    <div id="plot"></div>
    

我的核心需求是:既能用任意形状的矩形进行框选缩放,又能在缩放后始终保持热力图的像素为方形,同时让缩放后的内容居中显示(必要时可以保留水平或垂直方向的空白区域)。请问有没有办法实现这样的效果呢?

备注:内容来源于stack exchange,提问作者Basj

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 09:50:32