Answers.Body: <p>I'm the author of <a href="https://robert-haas.github.io/gravis-docs/" rel="nofollow noreferrer">gravis</a>, an open source package for interactive network visualization in Python. It supports many ways to influence visual properties with data, such as node size, color or location. It also allows to control edge curvature. Therefore it's possible to place all nodes along a line (or another form) and have edges with a chosen degree of curvature between them.</p>
  <ul>
  <li><p><a href="https://robert-haas.github.io/gravis-docs/code/examples/advanced_use.html" rel="nofollow noreferrer">Example 1</a>
  <a href="https://i.sstatic.net/f47HU.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/f47HU.png" alt="enter image description here" /></a></p>
  </li>
  <li><p><a href="https://robert-haas.github.io/gravis-docs/code/examples/science/mathematics/integer_divisors.html" rel="nofollow noreferrer">Example 2</a>
  <a href="https://i.sstatic.net/KqdtJ.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/KqdtJ.png" alt="enter image description here" /></a></p>
  </li>
  </ul>
  <p>Edit: Python code that reproduces your image with NetworkX and gravis</p>
  <pre><code>import gravis as gv
  import networkx as nx
  
  g = nx.Graph()
  g.add_node(1, x=0, y=0)
  g.add_node(2, x=50, y=0)
  g.add_node(3, x=100, y=0)
  g.add_node(4, x=150, y=0)
  g.add_edge(1, 2)
  g.add_edge(1, 3)
  g.add_edge(3, 4)
  g.graph['node_color'] = 'blue'
  g.graph['node_size'] = 15
  gv.d3(g, edge_curvature=1.5, show_node_label=False)
  </code></pre>
  <p>Result inside a Jupyter notebook (optional, just for convenience):
  <a href="https://i.sstatic.net/CGWmI.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/CGWmI.png" alt="enter image description here" /></a></p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-06-10T18:50:15.030Z
Answers.LastActivityDate: 2022-06-11T13:05:24.270Z
Answers.LastEditDate: 2022-06-11T13:05:24.270Z
Answers.UserDisplayName: Robert Haas
Answers.Body: <p>That plot is called an Arc diagram
  you can google that and use the package or program that best suits you.</p>
  
  <p>Here are 2 examples of the use of Arc diagrams in R:<br>
  <a href="http://www.gastonsanchez.com/visually-enforced/got-plot/how-to/2013/02/02/Arc-Diagrams-in-R-Les-Miserables/" rel="nofollow noreferrer">Example 1</a>: <a href="https://i.sstatic.net/hkiAS.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/hkiAS.png" alt="enter image description here"></a></p>
  
  <p><a href="http://www.sthda.com/english/articles/33-social-network-analysis/135-network-visualization-essentials-in-r/#arc-diagram-layout" rel="nofollow noreferrer">Example 2</a>: <a href="https://i.sstatic.net/HQX6k.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/HQX6k.png" alt="enter image description here"></a></p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-09-10T18:48:11.900Z
Answers.LastActivityDate: 2018-09-12T07:36:08.897Z
Answers.LastEditDate: 2018-09-12T07:36:08.897Z
Answers.UserDisplayName: Mack123456
Body: <p>I want to visualise a network in a way that the nodes are along a line (and the edges are not on that line).
  I have included a simple example below.</p>
  
  <p><a href="https://i.sstatic.net/xJ9vo.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/xJ9vo.png" alt="Network on a line"></a></p>
  
  <p>Which network visualisation programs (Cytoscape, Gephi, R igraph etc) do have this layout option?</p>
  
Tags: <networks><visualization>
Title: Visualize network (graph) using "line" layout
ThreadText: # Visualize network (graph) using "line" layout
  
  (Asked by: username_0 on 2018-09-10)
  
  I want to visualise a network in a way that the nodes are along a line (and the edges are not on that line).
  I have included a simple example below.
  
  [![Network on a line](https://i.sstatic.net/xJ9vo.png)](https://i.sstatic.net/xJ9vo.png)
  
  Which network visualisation programs (Cytoscape, Gephi, R igraph etc) do have this layout option?
  
  **Tags:** networks, visualization
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_2 on 2018-09-10. Score: 2 | Accepted answer
  
  That plot is called an Arc diagram
  you can google that and use the package or program that best suits you.
  
  Here are 2 examples of the use of Arc diagrams in R:  
  [Example 1](http://www.gastonsanchez.com/visually-enforced/got-plot/how-to/2013/02/02/Arc-Diagrams-in-R-Les-Miserables/): [![enter image description here](https://i.sstatic.net/hkiAS.png)](https://i.sstatic.net/hkiAS.png)
  
  [Example 2](http://www.sthda.com/english/articles/33-social-network-analysis/135-network-visualization-essentials-in-r/#arc-diagram-layout): [![enter image description here](https://i.sstatic.net/HQX6k.png)](https://i.sstatic.net/HQX6k.png)
  
  
  ---
  
  ### Answer by username_1 on 2022-06-10. Score: 2
  
  I'm the author of [gravis](https://username_1-username_1.github.io/gravis-docs/), an open source package for interactive network visualization in Python. It supports many ways to influence visual properties with data, such as node size, color or location. It also allows to control edge curvature. Therefore it's possible to place all nodes along a line (or another form) and have edges with a chosen degree of curvature between them.
  
  * [Example 1](https://username_1-username_1.github.io/gravis-docs/code/examples/advanced_use.html)
    [![enter image description here](https://i.sstatic.net/f47HU.png)](https://i.sstatic.net/f47HU.png)
  * [Example 2](https://username_1-username_1.github.io/gravis-docs/code/examples/science/mathematics/integer_divisors.html)
    [![enter image description here](https://i.sstatic.net/KqdtJ.png)](https://i.sstatic.net/KqdtJ.png)
  
  Edit: Python code that reproduces your image with NetworkX and gravis
  
  ```
  import gravis as gv
  import networkx as nx
  
  g = nx.Graph()
  g.add_node(1, x=0, y=0)
  g.add_node(2, x=50, y=0)
  g.add_node(3, x=100, y=0)
  g.add_node(4, x=150, y=0)
  g.add_edge(1, 2)
  g.add_edge(1, 3)
  g.add_edge(3, 4)
  g.graph['node_color'] = 'blue'
  g.graph['node_size'] = 15
  gv.d3(g, edge_curvature=1.5, show_node_label=False)
  
  ```
  
  Result inside a Jupyter notebook (optional, just for convenience):
  [![enter image description here](https://i.sstatic.net/CGWmI.png)](https://i.sstatic.net/CGWmI.png)
  
  
  ---
  
  