0
Object subclass: #MultiData
    instanceVariableNames: 'b'
    classVariableNames: ''
    package: 'CFR-Extensions'

initialize
    b := RTGrapher new.

    b add: (self makeD: #('hello' 1 2 1)).
    b add: (self makeD: #('test' 1 2 11)).

    b

makeD: first
    | d |
    d := RTVerticalMultipleData new.
    d barShape color: Color blue.
    points := OrderedCollection new.
    points add: first.
    d points: points.
    d addMetric: #second.
    d addMetric: #third.
    d addMetric: #fourth.

    "Rotated text"
    d barChartWithBarTitle: #first rotation: -30.
    ^d

以上基本上是Roassal书中的Several metrics per data point 示例,分为两种方法。我一直在研究在程序运行时尝试添加数据的方法,而不仅仅是可视化静态数据集。我想可视化表格 RL 代理的参数跟踪。

当我在检查器中显示图表时会发生什么,只有最新的元素显示为图表。标签中有一些重叠,但不应该存在。

最初我想做一些类似传递OrderedCollection点的事情,但是RTVerticalMultipleData将它们编译成 Trachel 元素的方式使这样的方案无效,所以我想在将数据添加为元素之前对数据进行批处理。

上述不起作用的事实让我觉得是一个错误。除了解决这个问题,我想知道是否有更好的方法来可视化动态数据?

4

1 回答 1

1

我不知道 roassal 足以回答您的问题,但对于动态可视化,Pharo 也有 Telescope 项目。(https://github.com/TelescopeSt/Telescope

目前,Telescope 只能通过 Web 可视化与 Seaside 一起使用(使用 Cytoscape 连接器:https ://github.com/TelescopeSt/TelescopeCytoscape )。在以下位置查看演示:https ://demos.ferlicot.fr/TelescopeDemo

我不知道 Web 可视化是否适合您,但我分享以防万一。

于 2019-03-17T00:51:10.240 回答