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

ScottPlot切换热力图与时间序列后AxisAuto()不更新轴范围问题

ScottPlot切换视图轴缩放异常修复

问题原因

绘制热力图后,轴的缩放状态、范围配置会残留,Clear()仅清除绘图对象,不会重置轴的核心设置,导致后续切换时间序列时AxisAuto()无法正确适配全部数据点。

修复方案

在切换时间序列视图时,先重置轴的所有状态,再调用自动适配,并使用ScottPlot原生渲染方法确保更新:

修改后的代码

private void PlotHeatMap()
{
    plt.Clear();
    var hm = plt.AddHeatmap(kWArray, ScottPlot.Drawing.Colormap.Turbo);
    hm.FlipVertically = true; // 让午夜显示在底部
    plt.AddColorbar(hm);
    formsPlot1.Render(); // 使用ScottPlot自带渲染方法
}

private void PlotTimeSeries()
{
    plt.Clear();        
    plt.AddSignal(kWVector);
    plt.ResetAxes(); // 重置轴到默认状态,清除热力图残留配置
    plt.AxisAuto(); // 自动适配数据范围
    // 若自动适配仍有问题,可显式指定X轴范围:
    // plt.SetAxisLimitsX(0, kWVector.Length);
    formsPlot1.Render();
}

关键说明

  • ResetAxes():彻底重置轴的范围、缩放模式、标签等所有配置,避免热力图的轴设置干扰时间序列
  • formsPlot1.Render():替代WinForms的Refresh(),确保ScottPlot控件正确渲染最新的绘图内容
  • 显式设置X轴范围:如果自动适配仍失效,直接指定X轴从0到数据长度,强制显示全部3000个点

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 19:02:44