GeoGraphPlot
GeoGraphPlot[{e1,e2,…}]
generates a plot of the geographic graph with edges ei.
GeoGraphPlot[{v1,v2,…},{e1,e2,…}]
generates a plot with vertices vi and edges ej.
GeoGraphPlot[{vi vj ,…}]
uses rules vivj to specify the graph.
GeoGraphPlot[g]
displays the graph g with vertices at geographic locations on a map.
GeoGraphPlot[{…,w[ei],…}]
plots ei with features defined by the symbolic wrapper w.
Details and Options




- GeoGraphPlot shows the network between locations on a map by placing geographic objects as the vertices and the connections between them as edges. The edges generally do not correspond to particular routes between the locations.
- An undirected edge ei between vertices u and v can be given as uv, u<->v, UndirectedEdge[u,v] or TwoWayRule[u,v]. The character can be entered as
ue
.
- A directed edge ei from u to v can be given as uv, u->v, DirectedEdge[u,v] or Rule[u,v]. The character can be entered as
de
.
- The geographic vertices vi can be given in the following forms:
-
GeoPosition[{lat,lon}] latitude and longitude Entity[…] geographic entity Dated[ent,date] dated entity Image[…] geo-tagged image - The option VertexCoordinates can be used to specify geo locations for vertices that do not already contain them.
- The following special wrappers can be used for vertices and edges:
-
Annotation[a,label] provide an annotation Button[a,action] define an action to execute when the element is clicked EventHandler[a,…] define a general event handler for the element Hyperlink[a,uri] make the element act as a hyperlink Labeled[a,…] display the element with labeling PopupWindow[a,cont] attach a popup window to the element StatusArea[a,label] display in the status area when the element is moused over Style[a,opts] show the element using the specified styles Tooltip[a,label] attach an arbitrary tooltip to the element - GeoGraphPlot has the same options as GeoGraphics with the following additions and changes:
-
AnnotationRules {} annotations for graph, edges and vertices DirectedEdges False whether to interpret Rule as DirectedEdge EdgeLabels None labels and placements for edges EdgeLabelStyle Automatic style to use for edge labels EdgeShapeFunction Automatic generate graphic shapes for edges EdgeStyle Automatic styles for edges GraphHighlight {} vertices and edges to highlight GraphHighlightStyle Automatic style for highlight GraphLayout Automatic how to layout graph elements Method Automatic method to use PerformanceGoal Automatic aspects of performance to try to optimize PlotStyle Automatic graphics directives to determine styles PlotTheme Automatic overall theme for the graph VertexCoordinates Automatic coordinates for vertices VertexLabels None labels and placements for vertices VertexLabelStyle Automatic style to use for vertex labels VertexShape Automatic graphic shape for vertices VertexShapeFunction Automatic generate graphic shapes for vertices VertexSize Automatic size of vertices VertexStyle Automatic styles for vertices - GraphLayout specifies where to draw the edges connecting geographic locations.
- Possible settings for GraphLayout include:
-
Automatic automatically compute edges "StraightLine" use straight lines as edges "Geodesic" use geodesics as edges "Rhumb" use Rhumb lines as edges "Driving","Walking","Cycling" transportation methods - By default, the edges generated by GeoGraphPlot are abstract paths, showing self-loops and multiple edges between two vertices when present in the graph.
- If a travel path cannot be found between two vertices, the edge will use "StraightLine" instead.
- EdgeShapeFunctionfunc specifies that each vertex should be rendered with the primitives provided by func[{pt1,pt2},vw], where pt1 and pt2 are the geographic locations of the vertices for the edge vw.
- VertexCoordinates can use the following forms to provide geo locations to vertices:
-
{loc1,loc2,…} place vertex v1 at location loc1 etc. GeoPosition[{pos1,pos2,…}] array of geodetic positions {v1loc1,…} place vertex v1 at location loc1 etc. - The loci in VertexCoordinates can be geo locations, entities, geo-tagged images, etc.
- VertexLabelsAutomatic automatically labels vertices that are named locations. Vertices that are specified using latitude and longitude are left unlabeled.
- Graph features themes affect the plot of vertices and edges. Feature themes include:
-
"LargeGraph" large graph "NameLabeled" classic graph "IndexLabeled" index-labeled graph

Examples
open allclose allBasic Examples (3)
Scope (29)
Data (6)
Use geo entities as the vertices in a graph:
Use geo locations as the vertices in a graph:
Use directed edges to specify the graph:
Construct a network of international air routes:
Use geo-tagged images as graph vertices:
Use VertexCoordinates to position vertices:
Labeling (5)
Use Labeled to label a particular edge:
Specify edge labels with the EdgeLabels option:
Use Labeled to label a specific vertex:
Use VertexLabels to label a specific vertex:
Edge and Vertex Wrappers (6)
Give colors for specific vertices:
Specify colors for specific edges:
Set actions by wrapping specific vertices:
Attach a Hyperlink to a specific edge:
Graph Styling (12)
Set the style for all vertex labels:
Specify a GraphLayout:
Use a map of the world's coastlines for the background:
Use the orthographic projection for the map:
Use GeoRangePaddingNone to remove padding:
Use 350 kilometers of padding on each side of the map:
Options (31)
EdgeLabels (6)
Label each edge with its index in the edge list:
Label each edge with its name:
Label each edge with its weight, in this case corresponding to the distance between vertices:
Label specific edges in a graph:
Use a tooltip to label the edge between Rome and Milan:
Place a label most of the way from Rome to Milan:
Position the bottom-left corner of the label at the edge position:
EdgeLabelStyle (2)
GeoRangePadding (2)
VertexCoordinates (2)
Use VertexCoordinates to locate vertices:
Use VertexCoordinates to specify the location of a vertex:
VertexLabelStyle (2)
Applications (7)
A company is planning a fiber network for a number of Chicago suburbs. It only has the right of way for its fiber along certain corridors. Some of those corridors might be more expensive. Find the subgraph of connection corridors that connect every suburb with the lowest total cost:
Compute and plot the most cost effective way of connecting all the cities:
Show Chicago, Illinois, and the connections to its sister cities:
Visualize trade between countries:
Create a network between the largest cities in the United States:
Plot the friend graph for a Twitter account:
Find all the friends of friends of Stephen Wolfram in Twitter:
Construct the connectivity information:
Get the location information for the people in the network:
Plot the spread of languages around the world:
For each language spoken by more than 1 million people in a country, create an edge from the country of origin for that language:
Properties & Relations (10)
Use GraphPlot for non-geographic networks:
Use GeoGraphValuePlot to show the values on geographic networks:
Use GeoListPlot to show the locations of geographic locations and entities:
Use GeoBubbleChart to show values with scaled bubbles:
Use GeoRegionValuePlot to show values with colored regions:
Use GeoHistogram to aggregate locations into bins:
Use GeoSmoothHistogram to generate smooth densities from locations:
Use GeoVectorPlot and GeoStreamPlot for vector fields:
Draw contours on a map with GeoContourPlot:
Smoothly shade a map using color with GeoDensityPlot:
Text
Wolfram Research (2021), GeoGraphPlot, Wolfram Language function, https://reference.wolfram.com/language/ref/GeoGraphPlot.html.
CMS
Wolfram Language. 2021. "GeoGraphPlot." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/GeoGraphPlot.html.
APA
Wolfram Language. (2021). GeoGraphPlot. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/GeoGraphPlot.html