Elki从纯Java API绘制

时间:2018-03-27 17:08:43

标签: java elki

我一直在寻找一种方法将ELKI生成的可视化导出到SVG文件中,以后可以在我的应用程序中显示。但是,我找不到任何使用典型java构造函数的示例代码。我的目标是:

  • 在可视化中输入结果。
  • 设置VisualizerParameterizer构造函数,添加以前的Visualization。
  • 正确设置ExportVisualizations构造函数以编写文件。

例如,假设我已经有一个OutlierResult实例,现在我想使用BubbleVisualization绘制得分并生成一个SVG文件?我怎么能使用纯Java API来做到这一点?

1 个答案:

答案 0 :(得分:1)

VisualizerParameterizer这样的类可能有点烦人的设置手动,因为这涉及从服务加载器中找到所有需要的可视化工厂 - 那里有一个插件层,允许添加自动渲染的新可视化。

因此,最简单的方法是使用参数化API,例如(git style):

ExportVisualizations export = new ELKIBuilder<>(ExportVisualizations.class)
    .with(ExportVisualizations.Parameterizer.FOLDER_ID, "folder")
    .build();

或者如果您仍在使用旧版本/不喜欢构建器:

ListParameterization params = new ListParameterization();
params.addParameter(ExportVisualizations.Parameterizer.FOLDER_ID, "folder");
ExportVisualizations export = ClassGenericsUtil.parameterizeOrAbort(
                                  ExportVisualizations.class, params);

因为您只需要提供必需参数,并且它可以构造嵌套对象。在这种情况下,它还将构造VisualizerParameterizer,因此您还可以为该类添加选项,例如

.with(VisualizerParameterizer.Parameterizer.ENABLEVIS_ID, "scatter")

仅启用散点图可视化。