Oxyplot显示了ScatterSeries背后的HeatMapSeries

时间:2017-05-28 19:52:25

标签: heatmap scatter oxyplot

我正在尝试在单个OxyPlot实例上组合LineSeries,ScatterSeries和HeatmapSeries。我可以在同一个情节中显示前两个就好了,它看起来如下: enter image description here 其轴由以下代码生成:

var xAxis = new DateTimeAxis();
xAxis.Key = "X";
xAxis.Position = AxisPosition.Bottom;
xAxis.AbsoluteMinimum = DateTimeAxis.ToDouble(CurrentPass.AOS);
xAxis.AbsoluteMaximum = DateTimeAxis.ToDouble(CurrentPass.LOS);
xAxis.AxislineColor = xAxis.TextColor = xAxis.TicklineColor = xAxis.MajorGridlineColor = OxyColors.DarkGray;
var yAxis = new LinearAxis();
yAxis.Key = "Y";
yAxis.Position = AxisPosition.Left;
yAxis.AbsoluteMinimum = 0.0;
yAxis.AbsoluteMaximum = MaximumFrequency;
yAxis.Maximum = MaximumFrequency;
yAxis.AxislineColor = yAxis.TextColor = yAxis.TicklineColor = yAxis.MajorGridlineColor = OxyColors.DarkGray;

如果我为Heatmap添加第三个轴(甚至还不是HeatMapSeries),我会得到以下结果: enter image description here

此处针对HeatMap轴的额外代码为:

var heatmapAxis = new LinearColorAxis();
heatmapAxis.AbsoluteMinimum = 0.0;
heatmapAxis.AbsoluteMaximum = MaximumFrequency;
heatmapAxis.Palette = OxyPalettes.Gray(1024);
heatmapAxis.Key = "HeatMap";            

我不确定这里发生了什么。系列线仍然显示。我所拥有的散射器中的所有ScatterPoints肯定都存在 - 跟踪器出现,我可以与点进行交互(悬停,点击等)。但这些要点并没有显示出来。如果我添加一个HeatMapSeries,HeatMapSeries数据确实会按预期显示,LineSeries数据仍会显示但没有ScatterSeries数据。

同样,HeatMap数据和Scatter系列数据单独显示,但从不在一起显示。

之前有没有遇到过这个?有解决方法吗?

谢谢, 阿迪亚

1 个答案:

答案 0 :(得分:0)

抱歉,这有点晚了,但偶然发现了这一点。我有类似的东西,但热图上没有显示一条线,经过一些试验,我意识到将序列添加到绘图模型的顺序有很大的不同。将热图添加到绘图模型后,请确保添加ScatterSeries。