Python Help with .dot code for Graphviz

  • Thread starter Thread starter UFSJ
  • Start date Start date
  • Tags Tags
    Code
AI Thread Summary
The discussion revolves around creating a network graph with approximately 1500 nodes using Graphviz, focusing on geographic coordinates and specific visual attributes. The user seeks to represent nodes as small black circles without labels, similar to a referenced example created with Python's NetworkX and Basemap. The provided code snippet illustrates a basic structure with 10 nodes and their connections.Participants suggest that while Graphviz can be used for this task, the complexity of handling many nodes may necessitate a script in languages like Python or Perl to generate the .dot file efficiently. There is also a debate on whether to overlay the graph on a map using Photoshop or to automate the entire process, with the latter possibly requiring different tools beyond Graphviz. For users working in Linux, combining Graphviz output with a map image using ImageMagick is mentioned as a feasible solution.
UFSJ
Messages
13
Reaction score
2
Hi guys!

I'm completely new with dot code to make graph by graphviz and I'm calling by any help. I would like to make a network of, approximately, 1500 nodes, with each node with its position (geographic coordinate) and its own group of bounded nodes. Some nodes have the same position. These nodes may be represented by points with negligible size and bounded by edges represented by thin lines. I would like to obtain some thing like this: https://tuangauss.github.io/projects/networkx_basemap/networkx_basemap.html , but with an unique size for the circle nodes (smaller than the shown picture), with unique color (black) and without label. Below, I let my code with a reduced number of nodes (just 10 nodes).

[CODE lang="python" title="My code:"]strict graph {
node [shape = circle size=0.1];
1 [pos="-61.9961281,-11.9296913!"];
2 [pos="-63.0330696,-9.90765190!"];
3 [pos="-63.0330696,-9.90765190!"];
4 [pos="-61.4420509,-11.4333000!"];
5 [pos="-61.4420509,-11.4333000!"];
6 [pos="-60.8168373,-13.1869869!"];
7 [pos="-60.5454292,-13.1174307!"];
8 [pos="-64.2279739,-12.4367161!"];
9 [pos="-61.0130920,-11.5321751!"];
10 [pos="-65.3327789,-10.7804241!"];
1 -- 4 ;
1 -- 8 ;
1 -- 9 ;
2 -- 3 ;
2 -- 4 ;
2 -- 6 ;
2 -- 7 ;
2 -- 9 ;
2 -- 10 ;
3 -- 4 ;
3 -- 6 ;
3 -- 7 ;
3 -- 10 ;
4 -- 6 ;
4 -- 8 ;
4 -- 9 ;
4 -- 10 ;
6 -- 7 ;
6 -- 9 ;
6 -- 10 ;
7 -- 10 ;
8 -- 9 ;
}[/CODE]

I thanks a lot by any kind of help.
 
Technology news on Phys.org
Well that image uses the Python modules Networx and Basemap, but yoy can do this in graphviz too. The graphviz documentation is not easy to follow and it is always easier to start with something close and amend it. Something like this (follow link for demo)?

[CODE lang="python"]
# Using neato engine.

graph {
graph [bgcolor=lightgray]

# Default node styles.
node [style=filled label="" shape=circle width=0.5]

# Nodes.
a [width="1" fillcolor="red" pos="0.5,1!" label="⌂"]
b [fillcolor="blue" pos="0,3!"]
c [width=0 pos="3,1.5!"]
d [fillcolor="orange" pos="-1,0!"]

# Edges.
a -- b
a -- c
a -- d
}
[/CODE]
 
Is it acceptable to make a diagram without the map, but with locations that you can use photoshop to overlay the graph on a map, or do you want a completely automated program? I think that the first option would not be too hard, but an automated program with a map might require a different tool than Graphviz.
With so many nodes, the first option would require a program (Perl, Python, etc.) with the logic to generate a .dot file with the desired commands. The second option might require using a different tool as discussed here.
 
The OP is working in linux (see another thread) and it is a simple matter to combine the graphviz output with a map image using imagemagic's composite command in a script.
 
  • Like
Likes FactChecker
Thread 'Is this public key encryption?'
I've tried to intuit public key encryption but never quite managed. But this seems to wrap it up in a bow. This seems to be a very elegant way of transmitting a message publicly that only the sender and receiver can decipher. Is this how PKE works? No, it cant be. In the above case, the requester knows the target's "secret" key - because they have his ID, and therefore knows his birthdate.
Thread 'Project Documentation'
Trying to package up a small bank account manager project that I have been tempering on for a while. One that is certainly worth something to me. Although I have created methods to whip up quick documents with all fields and properties. I would like something better to reference in order to express the mechanical functions. It is unclear to me about any standardized format for code documentation that exists. I have tried object orientated diagrams with shapes to try and express the...

Similar threads

Back
Top