0

[编辑:我在 OxyPlot GitHub 上提交了一个关于此的问题]

我在带有一些 FunctionSeries 的 WPF 窗口中有一个 OxyPlot 笛卡尔图。当我将两个轴的PositionAtZeroCrossing 设置为 true时,会出现几个问题:

1)标题显示不正确,一个甚至没有出现。更改 TitlePosition 的值似乎并没有改变任何东西。

2)放大或四处移动时,x轴超出图形区域,如下图: 截屏

当 PositionAtZeroCrossing 未设置为 true 时,这两个问题都不会出现。

我想知道是否有解决这些问题的正确方法或解决方法(我不熟悉 OxyPlot)。

//My PlotModel is binded to the Model of a PlotView in my WPF control.

//FonctionQlimPlim, maxX, maxY, minX and maxY are defined elsewhere
PlotModel plot = new PlotModel() 
{
    PlotType = PlotType.Cartesian
};

plot.Axes.Add(new LinearAxis()
{
    Position = AxisPosition.Bottom,
    Minimum = minX,
    Maximum = maxX,
    Title = "Q (kVAR)",
    PositionAtZeroCrossing = true 
});

plot.Axes.Add(new LinearAxis()
{
    Position = AxisPosition.Left,
    Minimum = minY,
    Maximum = maxY,
    Title = "P (kW)",
    PositionAtZeroCrossing = true
});

//One of the FunctionSeries
var f = FonctionQlimPlim;
f.Color = OxyColors.Red;
plot.Series.Add(f);
4

2 回答 2

1

似乎此属性的用法如下所示:

假设您的输入是x(水平)、y(垂直)图。假设您的 x 值从120,假设您的 y 值将是 和 之间的随机-1010

因此,我们期望看到一个 20 点随机上下跳跃的图表。

当你设置轴PositionAtZeroCrossing时,你告诉Oxyplot把它放在交叉点的位置。这里有一些屏幕截图可以帮助您:链接到更大的图像

截图

因此,根据您的零位在哪里,它可能远远超出您的可视屏幕,因此它似乎不存在。

老实说,我没有看到将它们设置为 true 的意义,但我猜它可能适合一些需求。

于 2014-09-19T11:00:21.417 回答
0

这是一个在 2014 年 10 月修复的 bug,在此处追踪。

于 2015-05-27T11:03:44.243 回答