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
以上本质上是罗萨尔著作中的Several metrics per data point
example,分为两种方法。我一直在研究尝试在程序运行时添加数据的方法,而不仅仅是可视化静态数据集。我想可视化表格式RL代理的参数跟踪。
当我在检查器中显示图形时,会发生的事情是只有最新的元素显示为图表。标签中有一些覆盖,但不应覆盖。
本来我想做类似传递OrderedCollection
点的事情,但是RTVerticalMultipleData
将它们编译成Trachel元素的方式使这种方案无效,因此我考虑过在之前对数据进行批处理将其添加为元素。
上面的方法不起作用的事实使我感到不满意。除了解决此问题,我想知道是否有更好的方法来可视化动态数据?
答案 0 :(得分:1)
我对解决您的问题并不了解,但对于动态可视化,Pharo也有Telescope项目。 (https://github.com/TelescopeSt/Telescope)
当前,Telescope仅通过Web可视化(使用Cytoscape连接器:https://github.com/TelescopeSt/TelescopeCytoscape)与Seaside一起使用。在以下位置查看演示:https://demos.ferlicot.fr/TelescopeDemo
我不知道Web可视化是否适合您,但我以防万一。