【问题标题】:Dynamical rectangle plot c# wpf动态矩形图 c# wpf
【发布时间】:2018-04-16 17:38:38
【问题描述】:

我想创建一个将活动元素动态显示为矩形的图。我使用添加到 myPlotModel.Annotations 的 OxyPlot.Annotations.RectangleAnnotation 实现了第一个版本,您可以在下面的图片中看到它:

想要展示的示例

问题是,一段时间后,当我更新显示的时间窗口(设置为 15 秒)时,绘制的矩形数量使更新变得不流畅。我已经设置了足以覆盖显示窗口的最大绘制元素(即矩形被删除,因为它们在过去太远了),但渲染仍然生涩。我通过将矩形分配到 Y 轴的相等部分来绘制矩形,即从顶部开始的第三个:

rowNumber= 3.0
minimumY = maximalY - maximalY / totalElements * rowNumber
maximumY = maximalY - maximalY / totalElements * (rowNumber + 1.0)

Y轴被隐藏了。

我的问题: 有没有更聪明的方法来创建这样一个计算量更少的显示,从而允许更平滑的更新?我不必坚持使用 OxyPlot,它只是我找到的最简单的方法来获得我想要的东西。

感谢您的回答!

【问题讨论】:

    标签: c# wpf oxyplot


    【解决方案1】:

    从技术上讲,您的问题的答案是“是”。

    有很多方法可以做到这一点。

    你可以有一个垂直的itemscontrol,它的模板中有一个itemscontrol。这可能有一个画布,因为它是 itemspresenter,您可以将 canvas.top 和 canvas.left 绑定到其内容中的属性。将每个模板模板化为一个矩形并绑定高度和宽度。 当然,对底部的比例和活动标签列或任何你想在那里称呼它们的东西做一些事情。 除非您使用的是绝对古老的机器,否则它会飞。

    这是一项相当多的工作,但编写它可能比搜索大量替代包并决定哪个是最佳的更快。

    【讨论】:

      猜你喜欢
      • 2012-07-03
      • 1970-01-01
      • 1970-01-01
      • 2015-04-27
      • 1970-01-01
      • 2017-04-27
      • 1970-01-01
      • 2016-02-27
      • 1970-01-01
      相关资源
      最近更新 更多