graphstruct.C

Go to the documentation of this file.
00001 // Draw a simple graph structure. 
00002 // The graph layout is made using graphviz. This macro creates some
00003 // nodes and edges and change a few graphical attributes on some of them.
00004 // Author: Olivier Couet
00005 {
00006    TGraphStruct *gs = new TGraphStruct();
00007 
00008    // create some nodes and put them in the graph in one go ...
00009    TGraphNode *n0 = gs->AddNode("n0","Node 0");
00010    TGraphNode *n1 = gs->AddNode("n1","First node");
00011    TGraphNode *n2 = gs->AddNode("n2","Second node");
00012    TGraphNode *n3 = gs->AddNode("n3","Third node");
00013    TGraphNode *n4 = gs->AddNode("n4","Fourth node");
00014    TGraphNode *n5 = gs->AddNode("n5","5th node");
00015    TGraphNode *n6 = gs->AddNode("n6","Node number six");
00016    TGraphNode *n7 = gs->AddNode("n7","Node 7");
00017    TGraphNode *n8 = gs->AddNode("n8","Node 8");
00018    TGraphNode *n9 = gs->AddNode("n9","Node 9");
00019 
00020    n4->SetTextSize(0.03);
00021    n6->SetTextSize(0.03);
00022    n2->SetTextSize(0.04);
00023 
00024    n3->SetTextFont(132);
00025 
00026    n0->SetTextColor(kRed);
00027 
00028    n9->SetFillColor(kRed-10);
00029    n0->SetFillColor(kYellow-9);
00030    n7->SetFillColor(kViolet-9);
00031 
00032    // some edges ...
00033    gs->AddEdge(n0,n1)->SetLineColor(kRed);
00034    TGraphEdge *e06 = gs->AddEdge(n0,n6);
00035    e06->SetLineColor(kRed-3);
00036    e06->SetLineWidth(4);
00037    gs->AddEdge(n1,n7);
00038    gs->AddEdge(n4,n6);
00039    gs->AddEdge(n3,n9);
00040    gs->AddEdge(n6,n8);
00041    gs->AddEdge(n7,n2);
00042    gs->AddEdge(n8,n3);
00043    gs->AddEdge(n2,n3);
00044    gs->AddEdge(n9,n0);
00045    gs->AddEdge(n1,n4);
00046    gs->AddEdge(n1,n6);
00047    gs->AddEdge(n2,n5);
00048    gs->AddEdge(n3,n6);
00049    gs->AddEdge(n4,n5);
00050 
00051    TCanvas *c = new TCanvas("c","c",800,600);
00052    c->SetFillColor(38);
00053    gs->Draw();
00054    return c;
00055 }

Generated on Tue Jul 5 15:44:22 2011 for ROOT_528-00b_version by  doxygen 1.5.1