London Subway Network

Source Notebook

London Subway Network data

Details

The London Subway network dataset contains information on all subway stations, including their geographic coordinates (latitude and longitude) and the respective lines they belong to.

(353 vertices, 409 edges)

Examples

Basic Examples (3) 

Retrieve the graph:

In[1]:=
ResourceData[\!\(\*
TagBox["\"\<London Subway Network\>\"",
#& ,
BoxID -> "ResourceTag-London Subway Network-Input",
AutoDelete->True]\)]
Out[1]=

Find the vertex count for the network:

In[2]:=
VertexCount[ResourceData[\!\(\*
TagBox["\"\<London Subway Network\>\"",
#& ,
BoxID -> "ResourceTag-London Subway Network-Input",
AutoDelete->True]\)]]
Out[2]=

Find the edge count for the network:

In[3]:=
EdgeCount[ResourceData[\!\(\*
TagBox["\"\<London Subway Network\>\"",
#& ,
BoxID -> "ResourceTag-London Subway Network-Input",
AutoDelete->True]\)]]
Out[3]=

Scope & Additional Elements (2) 

Retrieve the graph with the lines distinguished by color:

In[4]:=
Graph[ResourceData[\!\(\*
TagBox["\"\<London Subway Network\>\"",
#& ,
BoxID -> "ResourceTag-London Subway Network-Input",
AutoDelete->True]\)], EdgeStyle -> ResourceData[\!\(\*
TagBox["\"\<London Subway Network\>\"",
#& ,
BoxID -> "ResourceTag-London Subway Network-Input",
AutoDelete->True]\), "EdgeColor"], VertexStyle -> White]
Out[4]=

Retrieve the information and include the names as tooltips:

In[5]:=
Graph[ResourceData[\!\(\*
TagBox["\"\<London Subway Network\>\"",
#& ,
BoxID -> "ResourceTag-London Subway Network-Input",
AutoDelete->True]\)], VertexSize -> 2, EdgeStyle -> ResourceData[\!\(\*
TagBox["\"\<London Subway Network\>\"",
#& ,
BoxID -> "ResourceTag-London Subway Network-Input",
AutoDelete->True]\), "EdgeColor"], AnnotationRules -> ResourceData[\!\(\*
TagBox["\"\<London Subway Network\>\"",
#& ,
BoxID -> "ResourceTag-London Subway Network-Input",
AutoDelete->True]\), "Information"]]
Out[5]=

Visualizations (3) 

Visualize the subway network with GeoGraphPlot:

In[6]:=
GeoGraphPlot[EdgeList[ResourceData[\!\(\*
TagBox["\"\<London Subway Network\>\"",
#& ,
BoxID -> "ResourceTag-London Subway Network-Input",
AutoDelete->True]\)]] /. ResourceData[\!\(\*
TagBox["\"\<London Subway Network\>\"",
#& ,
BoxID -> "ResourceTag-London Subway Network-Input",
AutoDelete->True]\), "GeoPosition"], VertexStyle -> White, VertexSize -> 6]
Out[6]=

Visualize the network with the lines distinguished by colors using GeoGraphPlot:

In[7]:=
annog = Thread[(ResourceData[\!\(\*
TagBox["\"\<London Subway Network\>\"",
#& ,
BoxID -> "ResourceTag-London Subway Network-Input",
AutoDelete->True]\), "Information"][[;; , 1]] /. ResourceData[\!\(\*
TagBox["\"\<London Subway Network\>\"",
#& ,
BoxID -> "ResourceTag-London Subway Network-Input",
AutoDelete->True]\), "GeoPosition"]) -> ResourceData[\!\(\*
TagBox["\"\<London Subway Network\>\"",
#& ,
BoxID -> "ResourceTag-London Subway Network-Input",
AutoDelete->True]\), "Information"][[;; , 2]]];
In[8]:=
edgeg = Thread[(ResourceData[\!\(\*
TagBox["\"\<London Subway Network\>\"",
#& ,
BoxID -> "ResourceTag-London Subway Network-Input",
AutoDelete->True]\), "EdgeColor"] /. ResourceData[\!\(\*
TagBox["\"\<London Subway Network\>\"",
#& ,
BoxID -> "ResourceTag-London Subway Network-Input",
AutoDelete->True]\), "GeoPosition"])[[;; , 1]] -> Thread[{ResourceData[\!\(\*
TagBox["\"\<London Subway Network\>\"",
#& ,
BoxID -> "ResourceTag-London Subway Network-Input",
AutoDelete->True]\), "EdgeColor"][[;; , 2]], Thickness[.01]}]];
In[9]:=
edgelist = EdgeList[ResourceData[\!\(\*
TagBox["\"\<London Subway Network\>\"",
#& ,
BoxID -> "ResourceTag-London Subway Network-Input",
AutoDelete->True]\)]] /. ResourceData[\!\(\*
TagBox["\"\<London Subway Network\>\"",
#& ,
BoxID -> "ResourceTag-London Subway Network-Input",
AutoDelete->True]\), "GeoPosition"];
In[10]:=
GeoGraphPlot[edgelist, AnnotationRules -> annog, EdgeStyle -> edgeg, VertexSize -> 6]
Out[10]=

Visualize the vertices with more connections:

In[11]:=
Graph[ResourceData[\!\(\*
TagBox["\"\<London Subway Network\>\"",
#& ,
BoxID -> "ResourceTag-London Subway Network-Input",
AutoDelete->True]\)], VertexSize -> Thread[VertexList[g] -> (VertexDegree[g])]]
Out[11]=

Analysis (2) 

Find the path between two stations with the fewest stops:

In[12]:=
sp = FindShortestPath[ResourceData[\!\(\*
TagBox["\"\<London Subway Network\>\"",
#& ,
BoxID -> "ResourceTag-London Subway Network-Input",
AutoDelete->True]\)], "West Croydon", "Upminster"]
Out[12]=

And visualize the path:

In[13]:=
GeoGraphPlot[HighlightGraph[EdgeList[ResourceData[\!\(\*
TagBox["\"\<London Subway Network\>\"",
#& ,
BoxID -> "ResourceTag-London Subway Network-Input",
AutoDelete->True]\)]] /. ResourceData[\!\(\*
TagBox["\"\<London Subway Network\>\"",
#& ,
BoxID -> "ResourceTag-London Subway Network-Input",
AutoDelete->True]\), "GeoPosition"], sp /. ResourceData[\!\(\*
TagBox["\"\<London Subway Network\>\"",
#& ,
BoxID -> "ResourceTag-London Subway Network-Input",
AutoDelete->True]\), "GeoPosition"]]]
Out[13]=

Wolfram Research, "London Subway Network" from the Wolfram Data Repository (2025)  

Data Resource History

Source Metadata

See Also

Publisher Information