---
title: "GeoGraphPlot"
language: "en"
type: "Symbol"
summary: "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[{v i -> v j , ...}] uses rules vi -> vj 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."
keywords: 
- geo graph plot
- route map
- geo connectivity
- geo network
- geo graph
- road network
- country relationships
- trade maps
- international trade
- population migration
- geographic flow
canonical_url: "https://reference.wolfram.com/language/ref/GeoGraphPlot.html"
source: "Wolfram Language Documentation"
related_guides: 
  - 
    title: "Geographic Visualization"
    link: "https://reference.wolfram.com/language/guide/GeoVisualization.en.md"
  - 
    title: "Graph Visualization"
    link: "https://reference.wolfram.com/language/guide/GraphVisualization.en.md"
related_functions: 
  - 
    title: "GraphPlot"
    link: "https://reference.wolfram.com/language/ref/GraphPlot.en.md"
  - 
    title: "GeoGraphics"
    link: "https://reference.wolfram.com/language/ref/GeoGraphics.en.md"
  - 
    title: "Graph"
    link: "https://reference.wolfram.com/language/ref/Graph.en.md"
  - 
    title: "Graph3D"
    link: "https://reference.wolfram.com/language/ref/Graph3D.en.md"
  - 
    title: "GeoListPlot"
    link: "https://reference.wolfram.com/language/ref/GeoListPlot.en.md"
  - 
    title: "GeoRegionValuePlot"
    link: "https://reference.wolfram.com/language/ref/GeoRegionValuePlot.en.md"
  - 
    title: "GeoPath"
    link: "https://reference.wolfram.com/language/ref/GeoPath.en.md"
  - 
    title: "GeoPosition"
    link: "https://reference.wolfram.com/language/ref/GeoPosition.en.md"
  - 
    title: "GeoBubbleChart"
    link: "https://reference.wolfram.com/language/ref/GeoBubbleChart.en.md"
  - 
    title: "PointValuePlot"
    link: "https://reference.wolfram.com/language/ref/PointValuePlot.en.md"
  - 
    title: "GeoStreamPlot"
    link: "https://reference.wolfram.com/language/ref/GeoStreamPlot.en.md"
  - 
    title: "GeoVectorPlot"
    link: "https://reference.wolfram.com/language/ref/GeoVectorPlot.en.md"
---
# 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 vi -> vj 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.

[image]

* An undirected edge ``ei`` between vertices ``u`` and ``v`` can be given as ``u\[UndirectedEdge]v``, ``u <-> v``, ``UndirectedEdge[u, v]`` or ``TwoWayRule[u, v]``. The character ``\[UndirectedEdge]`` can be entered as esc`` ue ``esc.

* A directed edge ``ei`` from ``u`` to ``v`` can be given as ``u\[DirectedEdge]v``, ``u -> v``, ``DirectedEdge[u, v]`` or ``Rule[u, v]``. The character ``\[DirectedEdge]`` can be entered as esc`` de ``esc.

* 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:

|         |                                 |                             |
| ------- | ------------------------------- | --------------------------- |
| [image] | Automatic                       | automatically compute edges |
| [image] | "StraightLine"                  | use straight lines as edges |
| [image] | "Geodesic"                      | use geodesics as edges      |
| [image] | "Rhumb"                         | use Rhumb lines as edges    |
| [image] | "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.

* ``EdgeShapeFunction -> func`` specifies that each vertex should be rendered with the primitives provided by ``func[{pt1, pt2}, v\[UndirectedEdge]w]``, where ``pt1`` and ``pt2`` are the geographic locations of the vertices for the edge ``v\[UndirectedEdge]w``.

* ``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           |
| {v1 -> loc1, …}               | place vertex v1 at location loc1 etc. |

* The ``loci`` in ``VertexCoordinates`` can be geo locations, entities, geo-tagged images, etc.

* ``VertexLabels -> Automatic`` 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:

|         |                |                     |
| ------- | -------------- | ------------------- |
| [image] | "LargeGraph"   | large graph         |
| [image] | "NameLabeled"  | classic graph       |
| [image] | "IndexLabeled" | index-labeled graph |

### List of all options

|                        |                 |                                                                                    |
| ---------------------- | --------------- | ---------------------------------------------------------------------------------- |
| AlignmentPoint         | Center          | the default point in the graphic to align with                                     |
| AnnotationRules        | {}              | annotations for graph, edges and vertices                                          |
| AspectRatio            | Automatic       | ratio of height to width                                                           |
| Axes                   | False           | whether to draw axes                                                               |
| AxesLabel              | None            | axes labels                                                                        |
| AxesOrigin             | Automatic       | where axes should cross                                                            |
| AxesStyle              | {}              | style specifications for the axes                                                  |
| Background             | None            | background color for the plot                                                      |
| BaselinePosition       | Automatic       | how to align with a surrounding text baseline                                      |
| BaseStyle              | {}              | base style specifications for the graphic                                          |
| ContentSelectable      | Automatic       | whether to allow contents to be selected                                           |
| CoordinatesToolOptions | Automatic       | detailed behavior of the coordinates tool                                          |
| 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                                                                   |
| Epilog                 | {}              | primitives rendered after the main plot                                            |
| FormatType             | TraditionalForm | the default format type for text                                                   |
| Frame                  | False           | whether to put a frame around the plot                                             |
| FrameLabel             | None            | frame labels                                                                       |
| FrameStyle             | {}              | style specifications for the frame                                                 |
| FrameTicks             | Automatic       | frame ticks                                                                        |
| FrameTicksStyle        | {}              | style specifications for frame ticks                                               |
| GeoBackground          | Automatic       | style specifications for the background                                            |
| GeoCenter              | Automatic       | center coordinates to use                                                          |
| GeoGridLines           | None            | geographic grid lines to draw                                                      |
| GeoGridLinesStyle      | Automatic       | style specifications for geographic grid lines                                     |
| GeoGridRange           | All             | projected coordinate range to include                                              |
| GeoGridRangePadding    | Automatic       | how much to pad the projected range                                                |
| GeoModel               | Automatic       | model of the Earth (or other body) to use                                          |
| GeoProjection          | Automatic       | projection to use                                                                  |
| GeoRange               | Automatic       | geographic area range to include                                                   |
| GeoRangePadding        | Automatic       | how much to pad the geographic range                                               |
| GeoResolution          | Automatic       | average distance between background pixels                                         |
| GeoScaleBar            | None            | scale bar to display                                                               |
| GeoServer              | Automatic       | specification of a tile server                                                     |
| GeoZoomLevel           | Automatic       | zoom to use for geographic background                                              |
| GraphHighlight         | {}              | vertices and edges to highlight                                                    |
| GraphHighlightStyle    | Automatic       | style for highlight                                                                |
| GraphLayout            | Automatic       | how to layout graph elements                                                       |
| GridLines              | None            | grid lines to draw                                                                 |
| GridLinesStyle         | {}              | style specifications for grid lines                                                |
| ImageMargins           | 0.              | the margins to leave around the graphic                                            |
| ImagePadding           | All             | what extra padding to allow for labels etc.                                        |
| ImageSize              | Automatic       | the absolute size at which to render the graphic                                   |
| LabelStyle             | {}              | style specifications for labels                                                    |
| MetaInformation        | {}              | meta-information about the map                                                     |
| Method                 | Automatic       | method to use                                                                      |
| PerformanceGoal        | Automatic       | aspects of performance to try to optimize                                          |
| PlotLabel              | None            | an overall label for the plot                                                      |
| PlotRange              | All             | range of values to include                                                         |
| PlotRangeClipping      | False           | whether to clip at the plot range                                                  |
| PlotRangePadding       | Automatic       | how much to pad the range of values                                                |
| PlotRegion             | Automatic       | the final display region to be filled                                              |
| PlotStyle              | Automatic       | graphics directives to determine styles                                            |
| PlotTheme              | Automatic       | overall theme for the graph                                                        |
| PreserveImageOptions   | Automatic       | whether to preserve image options when displaying new versions of the same graphic |
| Prolog                 | {}              | primitives rendered before the main plot                                           |
| RasterSize             | Automatic       | raster dimensions for the background data                                          |
| RotateLabel            | True            | whether to rotate y labels on the frame                                            |
| Ticks                  | Automatic       | axes ticks                                                                         |
| TicksStyle             | {}              | style specifications for axes ticks                                                |
| 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                                                                |

---

## Examples (103)

### Basic Examples (3)

Plot a graph of cities in Europe:

```wl
In[1]:= GeoGraphPlot[{Entity["City", {"Rome", "Lazio", "Italy"}]\[UndirectedEdge]Entity["City", {"Milan", "Lombardy", "Italy"}], Entity["City", {"Milan", "Lombardy", "Italy"}]\[UndirectedEdge]Entity["City", {"Paris", "IleDeFrance", "France"}], Entity["City", {"Milan", "Lombardy", "Italy"}]\[UndirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"Madrid", "Madrid", "Spain"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}], Entity["City", {"Madrid", "Madrid", "Spain"}]\[UndirectedEdge]Entity["City", {"Seville", "Seville", "Spain"}], Entity["City", {"Madrid", "Madrid", "Spain"}]\[UndirectedEdge]Entity["City", {"Barcelona", "Barcelona", "Spain"}]}]

Out[1]= [image]
```

---

Use driving directions to compute the edges between cities:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«Europe»], GraphLayout -> "Driving"]

Out[1]= [image]
```

---

The nearest neighbor graph for large cities in Illinois:

```wl
In[1]:= graph = NearestNeighborGraph[EntityValue[{Entity["City", {"Chicago", "Illinois", "UnitedStates"}], Entity["City", {"Aurora", "Illinois", "UnitedStates"}], Entity["City", {"Rockford", "Illinois", "UnitedStates"}], Entity["City", {"Joliet", "Illinois", "UnitedStates"}], Entity["City", {"Naperville", "Illinois", "UnitedStates"}], Entity["City", {"Springfield", "Illinois", "UnitedStates"}], Entity["City", {"Peoria", "Illinois", "UnitedStates"}], Entity["City", {"Elgin", "Illinois", "UnitedStates"}]}, "Position"], 3, DistanceFunction -> GeoDistance, DirectedEdges -> False];

In[2]:= GeoGraphPlot[graph]

Out[2]= [image]
```

### Scope (28)

#### Data (6)

Use geo entities as the vertices in a graph:

```wl
In[1]:= GeoGraphPlot[{Entity["Building", "MachuPicchu::3243b"]\[UndirectedEdge]Entity["Building", "EiffelTower::5h9w8"], Entity["Building", "MachuPicchu::3243b"]\[UndirectedEdge]Entity["City", {"Reykjavik", "Hofudhborgarsvaedhi", "Iceland"}], Entity["Building", "MachuPicchu::3243b"]\[UndirectedEdge]Entity["Airport", "YSSY"], Entity["Building", "MachuPicchu::3243b"]\[UndirectedEdge]Entity["Volcano", "FujiSan"], Entity["Building", "EiffelTower::5h9w8"]\[UndirectedEdge]Entity["City", {"Reykjavik", "Hofudhborgarsvaedhi", "Iceland"}], Entity["Building", "EiffelTower::5h9w8"]\[UndirectedEdge]Entity["Airport", "YSSY"], Entity["Building", "EiffelTower::5h9w8"]\[UndirectedEdge]Entity["Volcano", "FujiSan"], Entity["Airport", "YSSY"]\[UndirectedEdge]Entity["Volcano", "FujiSan"]}]

Out[1]= [image]
```

---

Use geo locations as the vertices in a graph:

```wl
In[1]:= GeoGraphPlot[{GeoPosition[{-13.16, -72.54}]\[UndirectedEdge]GeoPosition[{48.85, 2.29}], GeoPosition[{-13.16, -72.54}]\[UndirectedEdge]GeoPosition[{64.14, -21.92}], GeoPosition[{-13.16, -72.54}]\[UndirectedEdge]GeoPosition[{-33.94, 151.17}], GeoPosition[{-13.16, -72.54}]\[UndirectedEdge]GeoPosition[{35.35, 138.73}], GeoPosition[{48.85, 2.29}]\[UndirectedEdge]GeoPosition[{64.14, -21.92}], GeoPosition[{48.85, 2.29}]\[UndirectedEdge]GeoPosition[{-33.94, 151.17}], GeoPosition[{48.85, 2.29}]\[UndirectedEdge]GeoPosition[{35.35, 138.73}], GeoPosition[{-33.94, 151.17}]\[UndirectedEdge]GeoPosition[{35.35, 138.73}]}]

Out[1]= [image]
```

---

Use directed edges to specify the graph:

```wl
In[1]:= GeoGraphPlot[{GeoPosition[{48.88, 116.27}]\[DirectedEdge]GeoPosition[{34.14, -169.53}], GeoPosition[{48.88, 116.27}]\[DirectedEdge]GeoPosition[{16.97, -70.37}], GeoPosition[{48.88, 116.27}]\[DirectedEdge]GeoPosition[{-58.80, 160.17}], GeoPosition[{34.14, -169.53}]\[DirectedEdge]GeoPosition[{16.97, -70.37}], GeoPosition[{34.14, -169.53}]\[DirectedEdge]GeoPosition[{-58.80, 160.17}], GeoPosition[{16.97, -70.37}]\[DirectedEdge]GeoPosition[{-58.80, 160.17}]}]

Out[1]= [image]
```

---

Construct a network of international air routes:

```wl
In[1]:= graph = VertexReplace[Graph[{"LHR" -> "JFK", "LHR" -> "DXB", "LHR" -> "HKG", "LHR" -> "LAX", "LHR" -> "SIN", "LAX" -> "JFK", "LAX" -> "SYD", "SYD" -> "DXB", "TPE" -> "LAX", "LAX" -> "ICN"}], {"DXB" -> Entity["Airport", "DXB"], "HKG" -> Entity["Airport", "HKG"], "ICN" -> Entity["Airport", "ICN"], "JFK" -> Entity["Airport", "JFK"], "LAX" -> Entity["Airport", "LAX"], "LHR" -> Entity["Airport", "LHR"], "SIN" -> Entity["Airport", "SIN"], "SYD" -> Entity["Airport", "SYD"], "TPE" -> Entity["Airport", "TPE"]}];

In[2]:= GeoGraphPlot[graph]

Out[2]= [image]
```

---

Use geo-tagged images as graph vertices:

```wl
In[1]:= GeoGraphPlot[{[image], [image], [image], [image], [image], [image], [image], [image], [image], [image], [image], [image], [image], [image], [image], [image], [image], [image], [image]}, {[image]\[UndirectedEdge][image], [image]\[UndirectedEdge][image], [image]\[UndirectedEdge][image], [image]\[UndirectedEdge][image], [image]\[UndirectedEdge][image], [image]\[UndirectedEdge][image], [image]\[UndirectedEdge][image], [image]\[UndirectedEdge][image], [image]\[UndirectedEdge][image]}, VertexLabels -> Placed[Automatic, Tooltip]]

Out[1]= [image]
```

---

Use ``VertexCoordinates`` to position vertices:

```wl
In[1]:= GeoGraphPlot[{"The Big Apple"\[UndirectedEdge]"Emerald City", "The Big Apple"\[UndirectedEdge]"City of Trees", "The Big Easy"\[UndirectedEdge]"The Big Apple", "Wolfram Headquarters"\[UndirectedEdge]"The Big Apple", "Emerald City"\[UndirectedEdge]"Windy City", "Charm City"\[UndirectedEdge]"Windy City", "Windy City"\[UndirectedEdge]"Wolfram Headquarters", "Wolfram Headquarters"\[UndirectedEdge]"Wolfram Headquarters"}, VertexCoordinates -> {"The Big Apple" -> Entity["City", {"NewYork", "NewYork", "UnitedStates"}], "Emerald City" -> Entity["City", {"Seattle", "Washington", "UnitedStates"}], "City of Trees" -> Entity["City", {"BoiseCity", "Idaho", "UnitedStates"}], "The Big Easy" -> Entity["City", {"Boston", "Massachusetts", "UnitedStates"}], "Windy City" -> Entity["City", {"Chicago", "Illinois", "UnitedStates"}], "Charm City" -> Entity["City", {"Baltimore", "Maryland", "UnitedStates"}], "Wolfram Headquarters" -> Entity["City", {"Champaign", "Illinois", "UnitedStates"}]}]

Out[1]= [image]
```

#### Labeling (5)

Use ``Labeled`` to label a particular edge:

```wl
In[1]:= edges = {Labeled[Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"Madrid", "Madrid", "Spain"}], "Paris to Madrid"], Entity["City", {"Rome", "Lazio", "Italy"}]\[UndirectedEdge]Entity["City", {"Milan", "Lombardy", "Italy"}], Entity["City", {"Milan", "Lombardy", "Italy"}]\[UndirectedEdge]Entity["City", {"Paris", "IleDeFrance", "France"}], Entity["City", {"Milan", "Lombardy", "Italy"}]\[UndirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}], Entity["City", {"Madrid", "Madrid", "Spain"}]\[UndirectedEdge]Entity["City", {"Seville", "Seville", "Spain"}], Entity["City", {"Madrid", "Madrid", "Spain"}]\[UndirectedEdge]Entity["City", {"Barcelona", "Barcelona", "Spain"}]};

In[2]:= GeoGraphPlot[edges]

Out[2]= [image]
```

---

Specify edge labels with the ``EdgeLabels`` option:

```wl
In[1]:= GeoGraphPlot[{Entity["City", {"Rome", "Lazio", "Italy"}]\[UndirectedEdge]Entity["City", {"Milan", "Lombardy", "Italy"}], Entity["City", {"Milan", "Lombardy", "Italy"}]\[UndirectedEdge]Entity["City", {"Paris", "IleDeFrance", "France"}], Entity["City", {"Milan", "Lombardy", "Italy"}]\[UndirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"Madrid", "Madrid", "Spain"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}], Entity["City", {"Madrid", "Madrid", "Spain"}]\[UndirectedEdge]Entity["City", {"Seville", "Seville", "Spain"}], Entity["City", {"Madrid", "Madrid", "Spain"}]\[UndirectedEdge]Entity["City", {"Barcelona", "Barcelona", "Spain"}]}, EdgeLabels -> {Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"Milan", "Lombardy", "Italy"}] -> "Paris to Milan"}]

Out[1]= [image]
```

---

Label all the vertices:

```wl
In[1]:= edges = {Entity["City", {"Rome", "Lazio", "Italy"}]\[UndirectedEdge]Entity["City", {"Milan", "Lombardy", "Italy"}], Entity["City", {"Milan", "Lombardy", "Italy"}]\[UndirectedEdge]Entity["City", {"Paris", "IleDeFrance", "France"}], Entity["City", {"Milan", "Lombardy", "Italy"}]\[UndirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"Madrid", "Madrid", "Spain"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}], Entity["City", {"Madrid", "Madrid", "Spain"}]\[UndirectedEdge]Entity["City", {"Seville", "Seville", "Spain"}], Entity["City", {"Madrid", "Madrid", "Spain"}]\[UndirectedEdge]Entity["City", {"Barcelona", "Barcelona", "Spain"}]};

In[2]:= GeoGraphPlot[edges, VertexLabels -> Automatic]

Out[2]= [image]
```

---

Use ``Labeled`` to label a specific vertex:

```wl
In[1]:= vertices = {Labeled[Entity["City", {"Barcelona", "Barcelona", "Spain"}], "Barcelona"], Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}], Entity["City", {"Madrid", "Madrid", "Spain"}], Entity["City", {"Milan", "Lombardy", "Italy"}], Entity["City", {"Paris", "IleDeFrance", "France"}], Entity["City", {"Rome", "Lazio", "Italy"}], Entity["City", {"Seville", "Seville", "Spain"}]};

In[2]:= GeoGraphPlot[vertices, IconizedObject[«edges»]]

Out[2]= [image]
```

---

Use ``VertexLabels`` to label a specific vertex:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«edges»], VertexLabels -> {\[FreeformPrompt]["Barcelona"] -> "Barcelona"}]

Out[1]= [image]
```

#### Edge and Vertex Wrappers (6)

Apply a tooltip to Paris:

```wl
In[1]:= vertices = {Tooltip[Entity["City", {"Paris", "IleDeFrance", "France"}], "The city of love"], Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}], Entity["City", {"Madrid", "Madrid", "Spain"}], Entity["City", {"Milan", "Lombardy", "Italy"}], Entity["City", {"Paris", "IleDeFrance", "France"}], Entity["City", {"Rome", "Lazio", "Italy"}], Entity["City", {"Seville", "Seville", "Spain"}]};

In[2]:= GeoGraphPlot[vertices, IconizedObject[«edges»]]

Out[2]= [image]
```

---

Give colors for specific vertices:

```wl
In[1]:= vertices = {Style[Entity["City", {"Paris", "IleDeFrance", "France"}], Blue], Style[Entity["City", {"Frankfurt", "Hesse", "Germany"}], Orange], Style[Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}], Pink], Entity["City", {"Madrid", "Madrid", "Spain"}], Entity["City", {"Milan", "Lombardy", "Italy"}], Entity["City", {"Paris", "IleDeFrance", "France"}], Style[Entity["City", {"Rome", "Lazio", "Italy"}], Green], Entity["City", {"Seville", "Seville", "Spain"}]};

In[2]:= GeoGraphPlot[vertices, IconizedObject[«edges»]]

Out[2]= [image]
```

---

Specify colors for specific edges:

```wl
In[1]:= GeoGraphPlot[{Entity["City", {"Rome", "Lazio", "Italy"}]\[UndirectedEdge]Entity["City", {"Milan", "Lombardy", "Italy"}], Style[Entity["City", {"Milan", "Lombardy", "Italy"}]\[UndirectedEdge]Entity["City", {"Paris", "IleDeFrance", "France"}], Directive[Thick, Green]], Entity["City", {"Milan", "Lombardy", "Italy"}]\[UndirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"Madrid", "Madrid", "Spain"}], Style[Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}], Directive[Thick, Blue]], Entity["City", {"Madrid", "Madrid", "Spain"}]\[UndirectedEdge]Entity["City", {"Seville", "Seville", "Spain"}], Style[Entity["City", {"Madrid", "Madrid", "Spain"}]\[UndirectedEdge]Entity["City", {"Barcelona", "Barcelona", "Spain"}], Directive[Thick, Orange]]}]

Out[1]= [image]
```

---

Set actions by wrapping specific vertices:

```wl
In[1]:= vertices = {Button[Entity["City", {"Paris", "IleDeFrance", "France"}], Speak["Paris"]], StatusArea[Entity["City", {"Frankfurt", "Hesse", "Germany"}], "Frankfurt"], PopupWindow[Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}], "London"], Entity["City", {"Madrid", "Madrid", "Spain"}], Entity["City", {"Milan", "Lombardy", "Italy"}], Entity["City", {"Paris", "IleDeFrance", "France"}], Entity["City", {"Rome", "Lazio", "Italy"}], Entity["City", {"Seville", "Seville", "Spain"}]};

In[2]:= GeoGraphPlot[vertices, IconizedObject[«edges»]]

Out[2]= [image]
```

---

Attach a ``Hyperlink`` to a specific edge:

```wl
In[1]:= GeoGraphPlot[{Entity["City", {"Rome", "Lazio", "Italy"}]\[UndirectedEdge]Entity["City", {"Milan", "Lombardy", "Italy"}], Entity["City", {"Milan", "Lombardy", "Italy"}]\[UndirectedEdge]Entity["City", {"Paris", "IleDeFrance", "France"}], Entity["City", {"Milan", "Lombardy", "Italy"}]\[UndirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"Madrid", "Madrid", "Spain"}], Hyperlink[Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}], "https://www.wolframalpha.com/input/?i=paris+to+london"], Entity["City", {"Madrid", "Madrid", "Spain"}]\[UndirectedEdge]Entity["City", {"Seville", "Seville", "Spain"}], Entity["City", {"Madrid", "Madrid", "Spain"}]\[UndirectedEdge]Entity["City", {"Barcelona", "Barcelona", "Spain"}]}]

Out[1]= [image]
```

---

Apply wrappers to vertices and edges:

```wl
In[1]:= GeoGraphPlot[{Tooltip[Entity["City", {"Paris", "IleDeFrance", "France"}], "The city of love"], Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}], PopupWindow[Entity["City", {"Madrid", "Madrid", "Spain"}], "Capital of Spain"], Entity["City", {"Milan", "Lombardy", "Italy"}], Labeled[Entity["City", {"Rome", "Lazio", "Italy"}], Style["Rome", 14], Right], StatusArea[Entity["City", {"Seville", "Seville", "Spain"}], "Sevilla"], Style[Entity["City", {"Barcelona", "Barcelona", "Spain"}], Yellow]}, {Entity["City", {"Rome", "Lazio", "Italy"}]\[UndirectedEdge]Entity["City", {"Milan", "Lombardy", "Italy"}], Button[Entity["City", {"Milan", "Lombardy", "Italy"}]\[UndirectedEdge]Entity["City", {"Paris", "IleDeFrance", "France"}], Print["Milan to Paris"]], Style[Entity["City", {"Milan", "Lombardy", "Italy"}]\[UndirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Directive[Thick, Blue]], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Style[Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"Madrid", "Madrid", "Spain"}], Directive[Dashed, Thickness[0.01], Purple]], Hyperlink[Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}], "https://www.wolframalpha.com/input/?i=paris+to+london"], Entity["City", {"Madrid", "Madrid", "Spain"}]\[UndirectedEdge]Entity["City", {"Seville", "Seville", "Spain"}], Entity["City", {"Madrid", "Madrid", "Spain"}]\[UndirectedEdge]Entity["City", {"Barcelona", "Barcelona", "Spain"}]}]

During evaluation of In[1]:= "Milan to Paris"

Out[1]= [image]
```

#### Graph Styling (11)

Style individual edges:

```wl
In[1]:= edges = {Entity["City", {"Rome", "Lazio", "Italy"}]\[UndirectedEdge]Entity["City", {"Milan", "Lombardy", "Italy"}], Entity["City", {"Milan", "Lombardy", "Italy"}]\[UndirectedEdge]Entity["City", {"Paris", "IleDeFrance", "France"}], Entity["City", {"Milan", "Lombardy", "Italy"}]\[UndirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"Madrid", "Madrid", "Spain"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}], Entity["City", {"Madrid", "Madrid", "Spain"}]\[UndirectedEdge]Entity["City", {"Seville", "Seville", "Spain"}], Style[Entity["City", {"Madrid", "Madrid", "Spain"}]\[UndirectedEdge]Entity["City", {"Barcelona", "Barcelona", "Spain"}], Directive[Thick, Blue]]};

In[2]:= GeoGraphPlot[edges]

Out[2]= [image]
```

---

Style all edges:

```wl
In[1]:= GeoGraphPlot[{Entity["City", {"Rome", "Lazio", "Italy"}]\[UndirectedEdge]Entity["City", {"Milan", "Lombardy", "Italy"}], Entity["City", {"Milan", "Lombardy", "Italy"}]\[UndirectedEdge]Entity["City", {"Paris", "IleDeFrance", "France"}], Entity["City", {"Milan", "Lombardy", "Italy"}]\[UndirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"Madrid", "Madrid", "Spain"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}], Entity["City", {"Madrid", "Madrid", "Spain"}]\[UndirectedEdge]Entity["City", {"Seville", "Seville", "Spain"}], Entity["City", {"Madrid", "Madrid", "Spain"}]\[UndirectedEdge]Entity["City", {"Barcelona", "Barcelona", "Spain"}]}, EdgeStyle -> Directive[Thick, Brown, Dashed]]

Out[1]= [image]
```

---

Set the style for all vertex labels:

```wl
In[1]:= GeoGraphPlot[{Entity["City", {"Rome", "Lazio", "Italy"}]\[UndirectedEdge]Entity["City", {"Milan", "Lombardy", "Italy"}], Entity["City", {"Milan", "Lombardy", "Italy"}]\[UndirectedEdge]Entity["City", {"Paris", "IleDeFrance", "France"}], Entity["City", {"Milan", "Lombardy", "Italy"}]\[UndirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"Madrid", "Madrid", "Spain"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}], Entity["City", {"Madrid", "Madrid", "Spain"}]\[UndirectedEdge]Entity["City", {"Seville", "Seville", "Spain"}], Entity["City", {"Madrid", "Madrid", "Spain"}]\[UndirectedEdge]Entity["City", {"Barcelona", "Barcelona", "Spain"}]}, VertexLabels -> "Name", VertexLabelStyle -> Directive[Red, Italic, 8.5]]

Out[1]= [image]
```

---

Color specific vertices:

```wl
In[1]:= GeoGraphPlot[{Entity["City", {"Rome", "Lazio", "Italy"}], Entity["City", {"Milan", "Lombardy", "Italy"}], Entity["City", {"Paris", "IleDeFrance", "France"}], Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"Madrid", "Madrid", "Spain"}], Style[Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}], Blue], Entity["City", {"Seville", "Seville", "Spain"}], Style[Entity["City", {"Barcelona", "Barcelona", "Spain"}], Green]}, {Entity["City", {"Rome", "Lazio", "Italy"}]\[UndirectedEdge]Entity["City", {"Milan", "Lombardy", "Italy"}], Entity["City", {"Milan", "Lombardy", "Italy"}]\[UndirectedEdge]Entity["City", {"Paris", "IleDeFrance", "France"}], Entity["City", {"Milan", "Lombardy", "Italy"}]\[UndirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"Madrid", "Madrid", "Spain"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}], Entity["City", {"Madrid", "Madrid", "Spain"}]\[UndirectedEdge]Entity["City", {"Seville", "Seville", "Spain"}], Entity["City", {"Madrid", "Madrid", "Spain"}]\[UndirectedEdge]Entity["City", {"Barcelona", "Barcelona", "Spain"}]}]

Out[1]= [image]
```

---

Plot a directed graph:

```wl
In[1]:= GeoGraphPlot[{Entity["City", {"Rome", "Lazio", "Italy"}]\[DirectedEdge]Entity["City", {"Milan", "Lombardy", "Italy"}], Entity["City", {"Milan", "Lombardy", "Italy"}]\[DirectedEdge]Entity["City", {"Paris", "IleDeFrance", "France"}], Entity["City", {"Milan", "Lombardy", "Italy"}]\[DirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[DirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[DirectedEdge]Entity["City", {"Madrid", "Madrid", "Spain"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[DirectedEdge]Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}], Entity["City", {"Madrid", "Madrid", "Spain"}]\[DirectedEdge]Entity["City", {"Seville", "Seville", "Spain"}], Entity["City", {"Madrid", "Madrid", "Spain"}]\[DirectedEdge]Entity["City", {"Barcelona", "Barcelona", "Spain"}]}]

Out[1]= [image]
```

---

Specify a ``GraphLayout`` :

```wl
In[1]:= GeoGraphPlot[{Entity["City", {"Rome", "Lazio", "Italy"}]\[DirectedEdge]Entity["City", {"Milan", "Lombardy", "Italy"}], Entity["City", {"Milan", "Lombardy", "Italy"}]\[DirectedEdge]Entity["City", {"Paris", "IleDeFrance", "France"}], Entity["City", {"Milan", "Lombardy", "Italy"}]\[DirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[DirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[DirectedEdge]Entity["City", {"Madrid", "Madrid", "Spain"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[DirectedEdge]Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}], Entity["City", {"Madrid", "Madrid", "Spain"}]\[DirectedEdge]Entity["City", {"Seville", "Seville", "Spain"}], Entity["City", {"Madrid", "Madrid", "Spain"}]\[DirectedEdge]Entity["City", {"Barcelona", "Barcelona", "Spain"}]}, GraphLayout -> "Biking", GeoBackground -> "StreetMapNoLabels"]

Out[1]= [image]
```

---

Use a map of the world's coastlines for the background:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«air routes»], GeoBackground -> "Coastlines"]

Out[1]= [image]
```

---

Use the orthographic projection for the map:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«air routes»], GeoProjection -> "LambertAzimuthal"]

Out[1]= [image]
```

---

Use 350 kilometers of padding on each side of the map:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«Europe»], GeoRangePadding -> Quantity[350, "Kilometers"]]

Out[1]= [image]
```

---

Show parallels and meridians:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«nearest US cities»], GeoGridLines -> Automatic]

Out[1]= [image]
```

Specify the spacing between them:

```wl
In[2]:= GeoGraphPlot[IconizedObject[«nearest US cities»], GeoGridLines -> {Quantity[5, "AngularDegrees"], Quantity[15, "AngularDegrees"]}]

Out[2]= [image]
```

---

Specify parallel and meridians rendering:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«nearest US cities»], GeoGridLines -> {Quantity[5, "AngularDegrees"], Quantity[15, "AngularDegrees"]}, GeoGridLinesStyle -> Directive[Dashed, Blue]]

Out[1]= [image]

In[2]:= GeoGraphPlot[IconizedObject[«nearest US cities»], GeoGridLines -> {Quantity[5, "AngularDegrees"], Quantity[15, "AngularDegrees"]}, GeoGridLinesStyle -> {Red, Blue}]

Out[2]= [image]
```

### Options (55)

#### AspectRatio (3)

By default, the ratio of the height to width for the plot is determined based on values:

```wl
In[1]:= GeoGraphPlot[{Entity["City", {"NewYork", "NewYork", "UnitedStates"}]\[DirectedEdge]Entity["City", {"SanDiego", "California", "UnitedStates"}]}]

Out[1]= [image]
```

---

Make the height the same as the width with ``AspectRatio -> 1`` :

```wl
In[1]:= GeoGraphPlot[{Entity["City", {"NewYork", "NewYork", "UnitedStates"}]\[DirectedEdge]Entity["City", {"SanDiego", "California", "UnitedStates"}]}, AspectRatio -> 1]

Out[1]= [image]
```

---

``AspectRatio -> Full`` adjusts the height and width to tightly fit inside other constructs:

```wl
In[1]:=
plot = GeoGraphPlot[{Entity["City", {"NewYork", "NewYork", "UnitedStates"}]\[DirectedEdge]Entity["City", {"SanDiego", "California", "UnitedStates"}]}, AspectRatio -> Full];
{Framed[Pane[plot, {70, 150}]], Framed[Pane[plot, {150, 150}]], Framed[Pane[plot, {150, 75}]]}

Out[1]= {[image], [image], [image]}
```

#### Axes (3)

By default, axes are not drawn for ``GeoGraphPlot`` :

```wl
In[1]:= GeoGraphPlot[{Entity["City", {"NewYork", "NewYork", "UnitedStates"}]\[DirectedEdge]Entity["City", {"SanDiego", "California", "UnitedStates"}]}]

Out[1]= [image]
```

---

Use ``Axes -> True`` to turn on axes:

```wl
In[1]:= GeoGraphPlot[{Entity["City", {"NewYork", "NewYork", "UnitedStates"}]\[DirectedEdge]Entity["City", {"SanDiego", "California", "UnitedStates"}]}, Axes -> True]

Out[1]= [image]
```

---

Turn each axis on individually:

```wl
In[1]:= {GeoGraphPlot[{Entity["City", {"NewYork", "NewYork", "UnitedStates"}]\[DirectedEdge]Entity["City", {"SanDiego", "California", "UnitedStates"}]}, Axes -> {True, False}], GeoGraphPlot[{Entity["City", {"NewYork", "NewYork", "UnitedStates"}]\[DirectedEdge]Entity["City", {"SanDiego", "California", "UnitedStates"}]}, Axes -> {False, True}]}

Out[1]= {[image], [image]}
```

#### AxesLabel (3)

No axes labels are drawn by default:

```wl
In[1]:= GeoGraphPlot[{Entity["City", {"NewYork", "NewYork", "UnitedStates"}]\[DirectedEdge]Entity["City", {"SanDiego", "California", "UnitedStates"}]}, Axes -> True]

Out[1]= [image]
```

---

Place a label on the $y$ axis:

```wl
In[1]:= GeoGraphPlot[{Entity["City", {"NewYork", "NewYork", "UnitedStates"}]\[DirectedEdge]Entity["City", {"SanDiego", "California", "UnitedStates"}]}, Axes -> True, AxesLabel -> y]

Out[1]= [image]
```

---

Specify axes labels:

```wl
In[1]:= GeoGraphPlot[{Entity["City", {"NewYork", "NewYork", "UnitedStates"}]\[DirectedEdge]Entity["City", {"SanDiego", "California", "UnitedStates"}]}, Axes -> True, AxesLabel -> {x, y}]

Out[1]= [image]
```

#### AxesOrigin (2)

The position of the axes is determined automatically:

```wl
In[1]:= GeoGraphPlot[{Entity["City", {"NewYork", "NewYork", "UnitedStates"}]\[DirectedEdge]Entity["City", {"SanDiego", "California", "UnitedStates"}]}, Axes -> True]

Out[1]= [image]
```

---

Specify an explicit origin for the axes:

```wl
In[1]:= GeoGraphPlot[{Entity["City", {"NewYork", "NewYork", "UnitedStates"}]\[DirectedEdge]Entity["City", {"SanDiego", "California", "UnitedStates"}]}, Axes -> True, AxesOrigin -> {.15, .02}]

Out[1]= [image]
```

#### AxesStyle (4)

Change the style for the axes:

```wl
In[1]:= GeoGraphPlot[{Entity["City", {"NewYork", "NewYork", "UnitedStates"}]\[DirectedEdge]Entity["City", {"SanDiego", "California", "UnitedStates"}]}, Axes -> True, AxesStyle -> Red]

Out[1]= [image]
```

---

Specify the style of each axis:

```wl
In[1]:= GeoGraphPlot[{Entity["City", {"NewYork", "NewYork", "UnitedStates"}]\[DirectedEdge]Entity["City", {"SanDiego", "California", "UnitedStates"}]}, Axes -> True, AxesStyle -> {{Thick, Brown}, {Thick, Blue}}]

Out[1]= [image]
```

---

Use different styles for the ticks and the axes:

```wl
In[1]:= GeoGraphPlot[{Entity["City", {"NewYork", "NewYork", "UnitedStates"}]\[DirectedEdge]Entity["City", {"SanDiego", "California", "UnitedStates"}]}, Axes -> True, AxesStyle -> Green, TicksStyle -> Black]

Out[1]= [image]
```

---

Use different styles for the labels and the axes:

```wl
In[1]:= GeoGraphPlot[{Entity["City", {"NewYork", "NewYork", "UnitedStates"}]\[DirectedEdge]Entity["City", {"SanDiego", "California", "UnitedStates"}]}, Axes -> True, AxesStyle -> Green, LabelStyle -> Black]

Out[1]= [image]
```

#### EdgeLabels (6)

Label each edge with its index in the edge list:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«edges»], EdgeLabels -> "Index"]

Out[1]= [image]
```

---

Label each edge with its name:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«edges»], EdgeLabels -> "Name"]

Out[1]= [image]
```

---

Label each edge with its weight, in this case corresponding to the distance between vertices:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«edges»], EdgeWeight -> Table[GeoDistance[e[[1]], e[[2]]], {e, IconizedObject[«edges»]}], EdgeLabels -> "EdgeWeight"]

Out[1]= [image]
```

---

Label specific edges in a graph:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«edges»], EdgeLabels -> {Entity["City", {"Rome", "Lazio", "Italy"}]\[UndirectedEdge]Entity["City", {"Milan", "Lombardy", "Italy"}] -> "Italy", Entity["City", {"Madrid", "Madrid", "Spain"}]\[UndirectedEdge]Entity["City", {"Barcelona", "Barcelona", "Spain"}] -> "Spain"}]

Out[1]= [image]
```

---

Use a tooltip to label the edge between Rome and Milan:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«edges»], EdgeLabels -> {Entity["City", {"Rome", "Lazio", "Italy"}]\[UndirectedEdge]Entity["City", {"Milan", "Lombardy", "Italy"}] -> Placed[Quantity[471, "Kilometers"], Tooltip]}]

Out[1]= [image]
```

---

Place a label most of the way from Rome to Milan:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«edges»], EdgeLabels -> {Entity["City", {"Rome", "Lazio", "Italy"}]\[UndirectedEdge]Entity["City", {"Milan", "Lombardy", "Italy"}] -> Placed[Quantity[471, "Kilometers"], 0.7]}]

Out[1]= [image]
```

Position the bottom-left corner of the label at the edge position:

```wl
In[2]:= GeoGraphPlot[IconizedObject[«edges»], EdgeLabels -> {Entity["City", {"Rome", "Lazio", "Italy"}]\[UndirectedEdge]Entity["City", {"Milan", "Lombardy", "Italy"}] -> Placed[Quantity[471, "Kilometers"], {0.7, {0, 0}}]}]

Out[2]= [image]
```

#### EdgeLabelStyle (2)

Set the style for all edge labels:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«edges»], EdgeLabels -> "Index", EdgeLabelStyle -> Directive[Blue, Italic, 12]]

Out[1]= [image]
```

---

Specify the style for individual vertex labels:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«edges»], EdgeLabels -> "Index", EdgeLabelStyle -> {Entity["City", {"Rome", "Lazio", "Italy"}]\[UndirectedEdge]Entity["City", {"Milan", "Lombardy", "Italy"}] -> Directive[Red, Italic, 24], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"Madrid", "Madrid", "Spain"}] -> Directive[Blue, Italic, 24]}]

Out[1]= [image]
```

#### EdgeStyle (1)

Style all edges:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«nearest US cities»], EdgeStyle -> Blue]

Out[1]= [image]
```

#### Frame (4)

``GeoGraphPlot`` does not use a frame by default:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«data»]]

Out[1]= [image]
```

---

Use ``Frame -> True`` to draw a frame around the plot:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«data»], Frame -> True]

Out[1]= [image]
```

---

Draw a frame on the left and right edges:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«data»], Frame -> {{True, True}, {False, False}}]

Out[1]= [image]
```

---

Draw a frame on the left and bottom edges:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«data»], Frame -> {{True, False}, {True, False}}]

Out[1]= [image]
```

#### FrameLabel (4)

Place a label along the bottom frame of a plot:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«data»], Frame -> True, FrameLabel -> {"label"}]

Out[1]= [image]
```

---

Frame labels are placed on the bottom and left frame edges by default:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«data»], Frame -> True, FrameLabel -> {"latitude", "longitude"}]

Out[1]= [image]
```

---

Place labels on each of the edges in the frame:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«data»], Frame -> True, FrameLabel -> {{"left", "right"}, {"bottom", "top"}}]

Out[1]= [image]
```

---

Use a customized style for both labels and frame tick labels:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«data»], Frame -> True, FrameLabel -> {{"left", "right"}, {"bottom", "top"}}, LabelStyle -> Directive[Bold, Black]]

Out[1]= [image]
```

#### FrameStyle (2)

Specify the style of the frame:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«data»], Frame -> True, FrameStyle -> Directive[Black, Thick]]

Out[1]= [image]
```

---

Specify the style for each frame edge:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«data»], Frame -> True, FrameStyle -> {{Directive[Black, Thick], Red}, {Directive[Gray, Thick], Blue}}]

Out[1]= [image]
```

#### GeoBackground (1)

Use a vector map style as geo background:

```wl
In[1]:= {GeoGraphPlot[IconizedObject[«nearest US cities»], GeoBackground -> "VectorMarketing"], GeoGraphPlot[IconizedObject[«nearest US cities»], GeoBackground -> "StreetMap"], GeoGraphPlot[IconizedObject[«nearest US cities»], GeoBackground -> "Satellite"]}

Out[1]= {[image], [image], [image]}
```

#### GeoCenter (1)

Plot a nearest US cities graph centered at the current location:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«nearest US cities»], GeoCenter -> Here]

Out[1]= [image]
```

#### GeoGridLines (1)

Show parallel and meridians:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«nearest US cities»], GeoGridLines -> Automatic]

Out[1]= [image]

In[2]:= GeoGraphPlot[IconizedObject[«nearest US cities»], GeoGridLines -> {Quantity[5, "AngularDegrees"], Quantity[15, "AngularDegrees"]}]

Out[2]= [image]
```

#### GeoGridLinesStyle (1)

Specify parallel and meridians rendering:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«nearest US cities»], GeoGridLines -> {Quantity[5, "AngularDegrees"], Quantity[15, "AngularDegrees"]}, GeoGridLinesStyle -> Directive[Dashed, Blue]]

Out[1]= [image]

In[2]:= GeoGraphPlot[IconizedObject[«nearest US cities»], GeoGridLines -> {Quantity[5, "AngularDegrees"], Quantity[15, "AngularDegrees"]}, GeoGridLinesStyle -> {Red, Blue}]

Out[2]= [image]
```

#### GeoModel (1)

Use Mars as the reference body:

```wl
In[1]:= data = UndirectedEdge@@@Subsets[Table[RandomGeoPosition[], {5}], {2}];

In[2]:= GeoGraphPlot[data, GeoModel -> Entity["Planet", "Mars"]]

Out[2]= [image]
```

#### GeoProjection (1)

Use the Mercator projection for the map:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«air routes»], GeoProjection -> "Mercator"]

Out[1]= [image]
```

Orthographic:

```wl
In[2]:= GeoGraphPlot[IconizedObject[«air routes»], GeoProjection -> "Orthographic"]

Out[2]= [image]
```

Lambert azimuthal:

```wl
In[3]:= GeoGraphPlot[IconizedObject[«air routes»], GeoProjection -> "LambertAzimuthal"]

Out[3]= [image]
```

#### GeoRange (2)

Specify the region to show:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«flights»], GeoRange -> Entity["Country", "UnitedStates"]]

Out[1]= [image]
```

---

Specify the corners of the geo range as geo positions:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«flights»], GeoRange -> {GeoPosition[{65, 30}], GeoPosition[{30, -30}]}]

Out[1]= [image]
```

#### GeoRangePadding (1)

Use 350 kilometers of padding on each side of the map:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«Europe»], GeoRangePadding -> Quantity[350, "Kilometers"]]

Out[1]= [image]
```

#### GraphLayout (2)

Use geodesics as edges:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«flights»], GraphLayout -> "Geodesic"]

Out[1]= [image]
```

---

Use a transportation method as edges:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«nearest US cities»], GraphLayout -> "Driving"]

Out[1]= [image]
```

#### PlotTheme (1)

Use a plot theme:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«Europe»], PlotTheme -> "Minimal"]

Out[1]= [image]

In[2]:= GeoGraphPlot[IconizedObject[«Europe»], PlotTheme -> "Detailed"]

Out[2]= [image]
```

#### VertexCoordinates (2)

Use ``VertexCoordinates`` to locate vertices:

```wl
In[1]:= GeoGraphPlot[{"The Big Apple"\[UndirectedEdge]"Emerald City", "The Big Apple"\[UndirectedEdge]"City of Trees", "The Big Easy"\[UndirectedEdge]"The Big Apple", "Wolfram Headquarters"\[UndirectedEdge]"The Big Apple", "Emerald City"\[UndirectedEdge]"Windy City", "Charm City"\[UndirectedEdge]"Windy City", "Windy City"\[UndirectedEdge]"Wolfram Headquarters", "Wolfram Headquarters"\[UndirectedEdge]"Wolfram Headquarters"}, VertexCoordinates -> {"The Big Apple" -> Entity["City", {"NewYork", "NewYork", "UnitedStates"}], "Emerald City" -> Entity["City", {"Seattle", "Washington", "UnitedStates"}], "City of Trees" -> Entity["City", {"BoiseCity", "Idaho", "UnitedStates"}], "The Big Easy" -> Entity["City", {"Boston", "Massachusetts", "UnitedStates"}], "Windy City" -> Entity["City", {"Chicago", "Illinois", "UnitedStates"}], "Charm City" -> Entity["City", {"Baltimore", "Maryland", "UnitedStates"}], "Wolfram Headquarters" -> Entity["City", {"Champaign", "Illinois", "UnitedStates"}]}]

Out[1]= [image]
```

---

Use ``VertexCoordinates`` to specify the location of a vertex:

```wl
In[1]:= GeoGraphPlot[{Entity["City", {"Rome", "Lazio", "Italy"}]\[UndirectedEdge]Entity["City", {"Milan", "Lombardy", "Italy"}], Entity["City", {"Milan", "Lombardy", "Italy"}]\[UndirectedEdge]Entity["City", {"Paris", "IleDeFrance", "France"}], Entity["City", {"Milan", "Lombardy", "Italy"}]\[UndirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"Frankfurt", "Hesse", "Germany"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"Madrid", "Madrid", "Spain"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}], Entity["City", {"Madrid", "Madrid", "Spain"}]\[UndirectedEdge]Entity["City", {"Seville", "Seville", "Spain"}], Entity["City", {"Madrid", "Madrid", "Spain"}]\[UndirectedEdge]Entity["City", {"Barcelona", "Barcelona", "Spain"}], "Norway Coastline"\[UndirectedEdge]Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}], Entity["City", {"Paris", "IleDeFrance", "France"}]\[UndirectedEdge]"Norway Coastline"}, VertexCoordinates -> {"Norway Coastline" -> GeoPosition[{62.2, 5.4}]}]

Out[1]= [image]
```

#### VertexLabels (2)

Label all vertices with the geo entity name:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«Europe»], VertexLabels -> "Name"]

Out[1]= [image]
```

---

Label individual vertices:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«nearest US cities»], VertexLabels -> {Entity["City", {"NewYork", "NewYork", "UnitedStates"}] -> Style["NY", 20]}]

Out[1]= [image]
```

#### VertexLabelStyle (2)

Set the style for all vertex labels:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«Europe»], VertexLabels -> "Name", VertexLabelStyle -> Directive[Red, Italic, 8.5]]

Out[1]= [image]
```

---

Specify the style for individual vertex labels:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«Europe»], VertexLabels -> "Name", VertexLabelStyle -> {Entity["City", {"Paris", "IleDeFrance", "France"}] -> Directive[Red, Italic, 12]}]

Out[1]= [image]
```

#### VertexShape (1)

Use custom shapes for vertices:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«Europe»], VertexShape -> [image], VertexSize -> 0.5]

Out[1]= [image]
```

Use images for vertices:

```wl
In[2]:= GeoGraphPlot[IconizedObject[«Europe»], VertexShape -> [image], VertexSize -> 0.5]

Out[2]= [image]
```

#### VertexSize (1)

Use named sizes for the vertices:

```wl
In[1]:= {GeoGraphPlot[IconizedObject[«Europe»], VertexSize -> Tiny], GeoGraphPlot[IconizedObject[«Europe»], VertexSize -> Small], GeoGraphPlot[IconizedObject[«Europe»], VertexSize -> Medium], GeoGraphPlot[IconizedObject[«Europe»], VertexSize -> Large]}

Out[1]= {[image], [image], [image], [image]}
```

#### VertexStyle (1)

Set the style for all vertices:

```wl
In[1]:= GeoGraphPlot[IconizedObject[«Europe»], VertexStyle -> Black]

Out[1]= [image]
```

### 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:

```wl
In[1]:= g = [image];

In[2]:= GeoGraphPlot[g]

Out[2]= [image]
```

Compute and plot the most cost effective way of connecting all the cities:

```wl
In[3]:= fibernetwork = FindSpanningTree[g];

In[4]:= GeoGraphPlot[fibernetwork]

Out[4]= [image]
```

---

Show Chicago, Illinois, and the connections to its sister cities:

```wl
In[1]:= GeoGraphPlot[Thread[Entity["City", {"Chicago", "Illinois", "UnitedStates"}] -> {Entity["City", {"Accra", "GreaterAccra", "Ghana"}], Entity["City", {"Amman", "Amman", "Jordan"}], Entity["City", {"Athens", "Attiki", "Greece"}], Entity["City", {"Belgrade", "CentralSerbia", "Serbia"}], Entity["City", {"Birmingham", "Birmingham", "UnitedKingdom"}], Entity["City", {"Bogota", "DistritoCapital", "Colombia"}], Entity["City", {"Pusan", "PusanGwangyoksi", "SouthKorea"}], Entity["City", {"Casablanca", "GrandCasablanca", "Morocco"}], Entity["City", {"Delhi", "Delhi", "India"}], Entity["City", {"Durban", "KwaZuluNatal", "SouthAfrica"}], Entity["City", {"Galway", "Galway", "Ireland"}], Entity["City", {"Goteborg", "VastraGotaland", "Sweden"}], Entity["City", {"Hamburg", "Hamburg", "Germany"}], Entity["City", {"Kiev", "Kiev", "Ukraine"}], Entity["City", {"Lahore", "Punjab", "Pakistan"}], Entity["City", {"Luzern", "Luzern", "Switzerland"}], Entity["City", {"MexicoCity", "DistritoFederal", "Mexico"}], Entity["City", {"Milan", "Lombardy", "Italy"}], Entity["City", {"Moscow", "Moscow", "Russia"}], Entity["City", {"Osaka", "Osaka", "Japan"}], Entity["City", {"Paris", "IleDeFrance", "France"}], Entity["City", {"PetahTiqwa", "Hamerkaz", "Israel"}], Entity["City", {"Prague", "Prague", "CzechRepublic"}], Entity["City", {"Shanghai", "Shanghai", "China"}], Entity["City", {"Shenyang", "Liaoning", "China"}], Entity["City", {"Sydney", "NewSouthWales", "Australia"}], Entity["City", {"Toronto", "Ontario", "Canada"}], Entity["City", {"Vilnius", "Vilniaus", "Lithuania"}], Entity["City", {"Warsaw", "Mazowieckie", "Poland"}]}], GeoCenter -> Entity["City", {"Chicago", "Illinois", "UnitedStates"}], GraphLayout -> "Geodesic"]

Out[1]= [image]
```

---

Visualize trade between countries:

```wl
In[1]:= GeoGraphPlot[Flatten[Thread[# -> #["ImportPartners"]]& /@ EntityList[EntityClass["Country", "NATO"]]]]

Out[1]= [image]

In[2]:= GeoGraphPlot[Flatten[Thread[# -> #["ImportPartners"]]& /@ EntityList[EntityClass["Country", "GroupOf7"]]]]

Out[2]= [image]
```

---

Create a network between the largest cities in the United States:

```wl
In[1]:= cities = EntityList[\[FreeformPrompt]["50 largest US cities"]]

Out[1]= {Entity["City", {"NewYork", "NewYork", "UnitedStates"}], Entity["City", {"LosAngeles", "California", "UnitedStates"}], Entity["City", {"Chicago", "Illinois", "UnitedStates"}], Entity["City", {"Houston", "Texas", "UnitedStates"}], Entity["City", {"P ...  "UnitedStates"}], Entity["City", {"Tulsa", "Oklahoma", "UnitedStates"}], Entity["City", {"Bakersfield", "California", "UnitedStates"}], Entity["City", {"Wichita", "Kansas", "UnitedStates"}], Entity["City", {"Arlington", "Texas", "UnitedStates"}]}

In[2]:= nf = Nearest[cities, DistanceFunction -> GeoDistance]

Out[2]=
NearestFunction[Hold[Nearest[{Entity["City", {"NewYork", "NewYork", "UnitedStates"}], 
    Entity["City", {"LosAngeles", "California", "UnitedStates"}], 
    Entity["City", {"Chicago", "Illinois", "UnitedStates"}], 
    Entity["City", {"Houston", " ... ma", "UnitedStates"}], 
    Entity["City", {"Bakersfield", "California", "UnitedStates"}], 
    Entity["City", {"Wichita", "Kansas", "UnitedStates"}], 
    Entity["City", {"Arlington", "Texas", "UnitedStates"}]}, DistanceFunction -> GeoDistance]]]

In[3]:= network = DeleteDuplicates[Flatten[Table[Sort /@ Thread[city\[UndirectedEdge]Rest[nf[city, 5]]], {city, cities}]]];
```

Show the network:

```wl
In[4]:= GeoGraphPlot[network, VertexStyle -> Red, EdgeStyle -> Directive[Thickness[0.006], Orange], GeoBackground -> "StreetMapNoLabels"]

Out[4]= [image]
```

---

Plot the friend graph for a Twitter account:

```wl
In[1]:= twitter = ServiceConnect["Twitter", "New"]

Out[1]= ServiceObject["Twitter", "ID" -> "connection-f8e7e3a7f99644ee1218f1de05d97dc3"]
```

Find all the friends of friends of Stephen Wolfram in Twitter:

```wl
In[2]:= friends = # -> twitter["FriendIDs", "UserID" -> #, MaxItems -> 15]& /@ twitter["FriendIDs", "Username" -> "stephen_wolfram", MaxItems -> 15];
```

Construct the connectivity information:

```wl
In[3]:= network = Flatten[Thread /@ friends];
```

Get the location information for the people in the network:

```wl
In[4]:= data = (First[twitter["UserData", "UserID" -> #]] /@ {"ID", "ScreenName", "Location"})& /@ Union[Cases[network, _String, Infinity]];

In[5]:= trim = DeleteMissing[data, 1, 2];

In[6]:= friendnetwork = Flatten[network] /. {ToString[#] -> SemanticInterpretation[#3]&@@@trim};

In[7]:= friendnetwork = Cases[friendnetwork, HoldPattern[_Entity -> _Entity], Infinity];

In[8]:= GeoGraphPlot[friendnetwork]

Out[8]= [image]
```

---

Plot the spread of languages around the world:

```wl
In[1]:= countries = CountryData[];

In[2]:= majorLanguages[country_] := Cases[country["LanguagesFractions"], HoldPattern[lang_ -> frac_ /; frac * country["Population"] > Quantity[1000000, "People"]] :> lang]

In[3]:= originalCountry[lang_] := originalCountry[lang] = lang[EntityProperty["Language", "PrimaryOrigin"]]

In[4]:= majorCountries = Select[countries, #["Population"] > Quantity[10000000, "People"]&];

Out[4]= $Aborted
```

For each language spoken by more than 1 million people in a country, create an edge from the country of origin for that language:

```wl
In[5]:= graph = Flatten[Table[Table[If[originalCountry[lang] === country, Nothing, Tooltip[originalCountry[lang] -> country, lang]], {lang, majorLanguages[country]}], {country, majorCountries}]];

In[6]:= GeoGraphPlot[graph, GeoProjection -> "LambertAzimuthal", VertexLabels -> Placed[Automatic, Tooltip], GeoRange -> "World"]

Out[6]= [image]
```

---

Plot the USA Electric System Operating Network:

```wl
In[1]:= powernetwork = [image];

In[2]:= GeoGraphPlot[powernetwork, VertexStyle -> Red, EdgeStyle -> Directive[Thickness[0.006], Orange]]

Out[2]= [image]
```

### Properties & Relations (10)

Use ``GraphPlot`` for non-geographic networks:

```wl
In[1]:= GraphPlot[{4 -> 6, 2 -> 9, 2 -> 6, 2 -> 3, 1 -> 6, 5 -> 1, 7 -> 1, 7 -> 5, 9 -> 7, 3 -> 4, 2 -> 8, 2 -> 5, 1 -> 1, 4 -> 5, 8 -> 8, 5 -> 3, 6 -> 5, 1 -> 7, 10 -> 9, 6 -> 7}]

Out[1]= [image]
```

---

Use ``GeoGraphValuePlot`` to show the values on geographic networks:

```wl
In[1]:= GeoGraphValuePlot[{{Entity["City", {"Rome", "Lazio", "Italy"}], Entity["City", {"Milan", "Lombardy", "Italy"}], 2.2}, {Entity["City", {"Milan", "Lombardy", "Italy"}], Entity["City", {"Paris", "IleDeFrance", "France"}], 2.4}, {Entity["City", {"Milan", "Lombardy", "Italy"}], Entity["City", {"Frankfurt", "Hesse", "Germany"}], 5}, {Entity["City", {"Paris", "IleDeFrance", "France"}], Entity["City", {"Frankfurt", "Hesse", "Germany"}], 3.2}, {Entity["City", {"Paris", "IleDeFrance", "France"}], Entity["City", {"Madrid", "Madrid", "Spain"}], 4.3}, {Entity["City", {"Paris", "IleDeFrance", "France"}], Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}], 3.3}, {Entity["City", {"Madrid", "Madrid", "Spain"}], Entity["City", {"Seville", "Seville", "Spain"}], 3.6}, {Entity["City", {"Madrid", "Madrid", "Spain"}], Entity["City", {"Barcelona", "Barcelona", "Spain"}], 1.8}}]

Out[1]= [image]
```

---

Use ``GeoListPlot`` to show the locations of geographic locations and entities:

```wl
In[1]:= GeoListPlot[RandomGeoPosition[100]]

Out[1]= [image]
```

---

Use ``GeoBubbleChart`` to show values with scaled bubbles:

```wl
In[1]:= states = EntityValue[EntityClass["AdministrativeDivision", "USStatesAllStates"], EntityFunction[e, {e, e["Population"]}]];

In[2]:= GeoBubbleChart[states]

Out[2]= [image]
```

---

Use ``GeoRegionValuePlot`` to show values with colored regions:

```wl
In[1]:= states = EntityValue[EntityClass["AdministrativeDivision", "USStatesAllStates"], EntityFunction[e, {e, e["Population"]}]];

In[2]:= GeoRegionValuePlot[states]

Out[2]= [image]
```

---

Use ``GeoHistogram`` to aggregate locations into bins:

```wl
In[1]:= pts = RandomGeoPosition[\[FreeformPrompt]["US"], 500];

In[2]:= GeoHistogram[pts, "AdministrativeDivision1"]

Out[2]= [image]
```

---

Use ``GeoSmoothHistogram`` to generate smooth densities from locations:

```wl
In[1]:= pts = RandomGeoPosition[\[FreeformPrompt]["US"], 500];

In[2]:= GeoSmoothHistogram[pts]

Out[2]= [image]
```

---

Use ``GeoVectorPlot`` and ``GeoStreamPlot`` for vector fields:

```wl
In[1]:=
vecs = GeoVectorENU[GeoPosition[CompressedData["«2255»"]] -> 
  CompressedData["«2266»"]];

In[2]:= {GeoVectorPlot[vecs], GeoStreamPlot[vecs]}

Out[2]= {[image], [image]}
```

---

Draw contours on a map with ``GeoContourPlot`` :

```wl
In[1]:= GeoContourPlot[IconizedObject[«locs»] -> IconizedObject[«vals»]]

Out[1]= [image]
```

---

Smoothly shade a map using color with ``GeoDensityPlot`` :

```wl
In[1]:= GeoDensityPlot[IconizedObject[«locs»] -> IconizedObject[«vals»]]

Out[1]= [image]
```

## See Also

* [`GraphPlot`](https://reference.wolfram.com/language/ref/GraphPlot.en.md)
* [`GeoGraphics`](https://reference.wolfram.com/language/ref/GeoGraphics.en.md)
* [`Graph`](https://reference.wolfram.com/language/ref/Graph.en.md)
* [`Graph3D`](https://reference.wolfram.com/language/ref/Graph3D.en.md)
* [`GeoListPlot`](https://reference.wolfram.com/language/ref/GeoListPlot.en.md)
* [`GeoRegionValuePlot`](https://reference.wolfram.com/language/ref/GeoRegionValuePlot.en.md)
* [`GeoPath`](https://reference.wolfram.com/language/ref/GeoPath.en.md)
* [`GeoPosition`](https://reference.wolfram.com/language/ref/GeoPosition.en.md)
* [`GeoBubbleChart`](https://reference.wolfram.com/language/ref/GeoBubbleChart.en.md)
* [`PointValuePlot`](https://reference.wolfram.com/language/ref/PointValuePlot.en.md)
* [`GeoStreamPlot`](https://reference.wolfram.com/language/ref/GeoStreamPlot.en.md)
* [`GeoVectorPlot`](https://reference.wolfram.com/language/ref/GeoVectorPlot.en.md)

## Related Guides

* [Geographic Visualization](https://reference.wolfram.com/language/guide/GeoVisualization.en.md)
* [Graph Visualization](https://reference.wolfram.com/language/guide/GraphVisualization.en.md)

## History

* [Introduced in 2021 (12.3)](https://reference.wolfram.com/language/guide/SummaryOfNewFeaturesIn123.en.md)