ノードやエッジの見た目


方法1.Visualization インスタンスにアクションを定義して一気に行う方法

Action は具体的には、以下を使用します。
ColorAction 色の定義
FontAction フォントの定義
ShapeAction 形の定義
SizeAction サイズの定義
StrokeAction 線の定義


// ノードのサイズを 3 にします。
Visualization vis;
String action_tag;
ActionList action_list;
 
action_list=new ActionList();
action_list.add(new SizeAction(NODES,3));
vis.putAction(action_tag,action_list);
vis.run(action_tag);
 

方法2.Visualization インスタンスから VisualItem イテレータを取り出して個々の EdgeItem や NodeItem に対して定義する方法

Iterator it;
Visualization m_vis;  
 
it=m_vis.items(EDGES);
while ( it.hasNext() ) {
  EdgeItem ei=(EdgeItem)it.next();
  ei.setStroke(new BasicStroke(1));
  ei.setStrokeColor(ColorLib.rgb(0,255,0));
  ei.setShape(new Integer(Constants.SHAPE_DIAMOND));
  ei.setSize(5);
}
 

ノードの形を右向き三角にする場合の、Visualization インスタンスの作成例。

private makeVisualization(Graph g){
    /*
      Visualization クラスのインスタンスを作り、Graph データを与える。
    */
    m_vis = new Visualization();
    m_vis.addGraph(GRAPH, g);
 
    /*
      一度だけのアクション
    */
    ActionList draw = new ActionList();
    draw.add(new ColorAction(NODES, VisualItem.STROKECOLOR, 
        ColorLib.rgb(0,0,0)));
    draw.add(new ColorAction(EDGES, VisualItem.STROKECOLOR,
        ColorLib.rgb(0,0,0)));
    draw.add(new ShapeAction(NODES,Constants.SHAPE_TRIANGLE_RIGHT));
 
    /*
      細かく描画しなおされるアクション
    */
    ActionList animate = new ActionList(Activity.INFINITY);
    animate.add(new RepaintAction());
    animate.add(new ForceDirectedLayout(GRAPH));
 
    /*
      アクションの登録
    */
    m_vis.putAction("draw", draw);
    m_vis.putAction("layout", animate);
    m_vis.runAfter("draw", "layout");
    m_vis.run("draw");
  }
 

ノードの形(SHAPE)

ShapeAction に指定できる値。
Constants.SHAPE_CROSS ×
Constants.SHAPE_DIAMOND ひし形
Constants.SHAPE_ELLIPSE 円形
Constants.SHAPE_HEXAGON 六角形
Constants.SHAPE_RECTANGLE 四角形
Constants.SHAPE_STAR 星型
Constants.SHAPE_TRIANGLE_DOWN 下向き三角形
Constants.SHAPE_TRIANGLE_LEFT 左向き三角形
Constants.SHAPE_TRIANGLE_RIGHT 右向き三角形
Constants.SHAPE_TRIANGLE_UP 上向き三角形

特別な値。
Constants.SHAPE_NONE 形なし。設定できるのか要検証
Constants.SHAPE_COUNT 使用できる形の数




最終更新:2009年02月01日 23:46