【发布时间】:2016-05-19 10:10:23
【问题描述】:
我使用来自OxyPlot 的AreaSeries 绘制垂直AreaSeries。
我应用了一种从不同颜色AreaSeries 的列表构建的方法。代码如下:
private static void AddTriggerAreaSeries(PlotModel plotModel, int initialPoint, int endingPoint, int index)
{
var seriesArea = new AreaSeries();
seriesArea.Title = "Instruction";
seriesArea.Color = OxyColors.Transparent;
seriesArea.Fill = TriggerColorList[index];
//Draws vertically from bottom to top (0 -> 20)
//j referes to the second axis, the y axis in this case (vertical axis)
//The initial and ending points represent interval limits in which the area series is drawn
for (var j = 0; j < 20; j++)
{
seriesArea.Points.Add(new DataPoint(initalPoint, j));
}
for (var j = 0; j < 20; j++)
{
seriesArea.Points.Add(new DataPoint(endingPoint, j));
}
plotModel.Series.Add(seriesArea);
}
代码适用于vertical series。但是,当我尝试水平绘制相同的东西时,它不会从我给出的间隔绘制。
这是我用来绘制AreaSeries horizontally 的代码示例:
// Basically same code that I used but calling seriesArea.Points.Add(new DataPoint(x, y)) reversed, such that the line goes in the x direction
for (var j = 0; j < 20; j++)
{
seriesArea.Points.Add(new DataPoint(j, initalPoint));
}
for (var j = 0; j < 20; j++)
{
seriesArea.Points.Add(new DataPoint(j, endingPoint));
}
plotModel.Series.Add(seriesArea);
这是这段代码的结果图片
在此示例中,initialPoint=1 和 endingPoint=2。我尝试绘制interval [1,2],而不是仅从interval [0,1] 绘制,而终点仅绘制一条线:
【问题讨论】: