gpt4 book ai didi

java - 如何在 JUNG 图形可视化中添加自定义顶点标签?

转载 作者:搜寻专家 更新时间:2023-10-31 19:41:01 26 4
gpt4 key购买 nike

如何在 JUNG 中使用自定义顶点标签图形可视化?

我正在关注 Jung 2.0 Tutorial我发现 setVertexLabelTransformer() 可用于标记顶点,但据我所知,这些标签无法自定义。

例如,下面的代码生成三个顶点,顶点标签为 1,2,4:

import edu.uci.ics.jung.algorithms.layout.CircleLayout;
import edu.uci.ics.jung.algorithms.layout.Layout;
import edu.uci.ics.jung.graph.Graph;
import edu.uci.ics.jung.graph.SparseMultigraph;
import edu.uci.ics.jung.visualization.BasicVisualizationServer;
import java.awt.Dimension;
import javax.swing.JFrame;

public class SimpleGraphView {
Graph<Integer, String> g;

public SimpleGraphView() {
g = new SparseMultigraph<Integer, String>();
g.addVertex((Integer)1);
g.addVertex((Integer)2);
g.addVertex((Integer)4);
}

public static void main(String[] args) {
SimpleGraphView sgv = new SimpleGraphView();
Layout<Integer, String> layout = new CircleLayout(sgv.g);
layout.setSize(new Dimension(800,800));
BasicVisualizationServer<Integer,String> vv =
new BasicVisualizationServer<Integer,String>(layout);
vv.setPreferredSize(new Dimension(850,850));

JFrame frame = new JFrame("Simple Graph View");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(vv);
frame.pack();
frame.setVisible(true);
}
}

如何添加“q0”之类的标签?

最佳答案

由于您已经定义了 SparseMultigraph<V, E> 的泛型作为SparseMultigraph<Integer, String>通用V在哪里顶点为整数,边的通用 E 为 String ,因此每个顶点的标签值都在 Integer 中和 String 中每条边的标签.因此,如果您希望每个顶点都使用 q1、v2 等名称,请使用 String对于通用 V , 所以你可以像这样传递一个顶点名称 g.addVertex("q1");

关于java - 如何在 JUNG 图形可视化中添加自定义顶点标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9350583/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com