首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF OxyPlot缩放问题

WPF OxyPlot缩放问题
EN

Stack Overflow用户
提问于 2020-09-15 09:57:58
回答 1查看 736关注 0票数 0

为了在两个轴、X和Y上具有相同的比例尺,我使用了PlotType.Cartesian,它确保:

代码语言:javascript
复制
_model = new PlotModel();
_model.PlotType = PlotType.Cartesian;

我也有可能放大和缩小图表。

为了控制缩放,我需要在两个轴上设置AbsoluteMinimumAbsoluteMaximum,并指定最小和最大范围。

问题:如何在缩放时保持相同的比例?因为轴是独立缩放的,而且通常一个轴与另一个轴不同步(当一个轴达到极限,而另一个轴仍然可以扩展时)。

另外,如何为两个轴设置适当的值,因为如果我设置了所有的最小值和最大值,那么如果我使用PlotType.Cartesian,我希望在其他轴上设置相应的值,但不会发生--这就是问题出现的原因,因为我不能为两个轴设置适当的值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-15 13:10:08

我能得到的最接近的是:

  • 订阅Loaded PlotView事件(本例中为_model字段)

PlotViewActualHeightActualWidth方法中的

有了面积大小,人们可以选择最小和最大的期望斧头,然后做所有的计算,以保持相同的比例在两个轴。例如:

代码语言:javascript
复制
double xMin = -500;
double xMax = 800;
double xRange = xMax - xMin;

double yRange = xRange / ActualWidth * ActualHeight;
double yMin = 58;
double yMax = yMin + yRange;

_model.Axes[0].Minimum = xMin;
_model.Axes[0].AbsoluteMinimum = xMin;

_model.Axes[0].Maximum = xMax;
_model.Axes[0].AbsoluteMaximum = xMax;

// Analogically, define limits of Y axe

这也是很重要的放大两个轴与相同的缩放因子!

这将保证在两个轴上都有相同的比例,并通过缩放来保持纵横比。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63899428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档