我正在使用ScottPlot在C#/WinForms应用程序中绘制一些数据。我需要在热图视图和时间序列视图之间切换,我使用单选按钮选择。如果我绘制时间序列视图 first,轴的比例正确,我可以看到所有的数据。但是如果我先绘制热图,然后切换到时间序列,则图被放大到仅显示3000个点中的约30个点。(热图始终正确显示。)我尝试使用AxisAuto()和SetAxisLimits()来重置轴,但似乎没有任何效果。
private void PlotHeatMap()
{
plt.Clear();
var hm = plt.AddHeatmap(kWArray, ScottPlot.Drawing.Colormap.Turbo);
hm.FlipVertically = true; // So that midnight is at the bottom.
var cb = plt.AddColorbar(hm);
//plt.Margins(0, 0);
formsPlot1.Refresh();
}
private void PlotTimeSeries()
{
plt.Clear();
plt.AddSignal(kWVector);
plt.AxisAuto();
//plt.SetAxisLimits(0, 3000, 0, 8);
formsPlot1.Refresh();
}
知道我哪里做错了吗
1条答案
按热度按时间ymzxtsji1#
在开发人员的帮助下,我能够让它工作。问题是时间序列使用的是日期轴,而热图使用的是数值轴。因此,在绘制时间序列时,需要添加以下代码行:
在绘制热图时,您可以使用以下命令: