繁体   English   中英

如何正确显示Prefuse(Java)表?

[英]How to visualize a Prefuse (Java) Table correctly?

我想通过Prefuse Java可视化表中汽车的一些数据。 使用了三种重要的数据对象:

  1. PIT(时间点)
  2. 价值(包含双重燃气消耗量)
  3. 汽车(代表汽车的类)

所以首先我把它们放到这样的表中:

car1 | pit1 | value11
car1 | pit2 | value12
car1 | pit3 | value13
car2 | pit1 | value21
car2 | pit2 | value22
car2 | pit3 | value23
car3 | pit1 | value31
car3 | pit2 | value32
car3 | pit3 | value33

使用Prefuse项目中的示例,我能够创建一个表格的可视化,其中x轴标记为pit1,pit2和pit3,y轴具有正确顺序的不同值。

但是我几个小时试过的是以某种方式在相应的位置绘制小方块(如car1的红色方块,其中pit1和value11“相遇”)。

我该怎么做呢?

PS:我也想知道如何通过以下方式改善y轴:

想象一下,最低值是2.6,最高值是32.0。 现在,y轴将从2.6开始,只标记每个值(标签之间的空格相同,无论实际差异),最高为32.0。 我更喜欢的是标签从0.0(或2.0)开始,然后使用5左右的步骤直到35。

您希望在散点图中可视化表格,其中x轴为PIT,y轴为值,Car为标记的颜色(=矩形)。

如果我理解正确,您会看到轴标签,但没有标记。

您需要将ColorAction添加到操作列表中才能查看标记。 例如:

ColorAction color = new ColorAction("data", VisualItem.STROKECOLOR,
                ColorLib.rgb(100, 100, 255));

或者使用DataColorAction ,它允许您根据Car显示不同颜色的标记:

ColorAction color = new DataColorAction("data", "Car", 
                Constants.NOMINAL, VisualItem.FILLCOLOR);

关于y轴:prefuse绘制每个标签并忽略实际差异,如果它不能将变量(此处:值)读取为double。 请检查它是否存储为DoubleString 如果您想从0.0开始,您可以设置范围模型:

y_axis.setRangeModel(new NumberRangeModel(0, 40, 0, 40)); 

PS:我已经为prefuse散点图编写了一个教程: http ://www.ifs.tuwien.ac.at/~rind/w/doku.php/java/prefuse-scatterplot

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM