GeoDensityPlot[{loc1val1,loc2val2,…}]
makes a geo density plot with colors at the location loci determined by the value vali.
GeoDensityPlot[locsvals]
uses a collection of locations locs with corresponding values vals.
GeoDensityPlot
GeoDensityPlot[{loc1val1,loc2val2,…}]
makes a geo density plot with colors at the location loci determined by the value vali.
GeoDensityPlot[locsvals]
uses a collection of locations locs with corresponding values vals.
Details and Options
- GeoDensityPlot is also known as a heat map and thematic map.
- GeoDensityPlot displays values at the given geo locations as smoothly varying colors over the map.
- The geographic locations loci can be given in the following forms:
-
GeoPosition[{lat,lon}] latitude and longitude Entity[…] geographic entity Dated[ent,date] dated entity - Multiple locations locs can be given in the following forms:
-
{loc1,loc2,…} list of individual locations GeoPosition[{pos1,pos2,…}] array of geo positions EntityClass[…] class of geo entities - The values vali can be given in the following forms:
-
vali positive number Quantity[vali,unit] magnitude with units - Multiple values vals can be given in the following forms:
-
{val1,val2,…} list of individual values QuantityArray[{val1,val2,…},unit] array of quantities - In GeoDensityPlot[data], data can be given in the following forms:
-
<|loc1val1,loc2val2,…|> association of keys and values GeoPosition[{{lat1,lon1,elev1},…}] geo positions with elevations as the values WeightedData[…] positions with weights for values {{val11,val12,…},…} gridded data with the geo range provided by DataRange - GeoDensityPlot has the same options as GeoGraphics, with the following additions and changes: [List of all options]
-
BoundaryStyle None how to draw RegionFunction boundaries BoxRatios Automatic effective 3D bounding box ratios ClippingStyle None how to draw values clipped by PlotRange ColorFunction Automatic how to color the plot ColorFunctionScaling True whether to scale the argument to ColorFunction DataRange Automatic the range of lat and lon values to assume for data InterpolationOrder None the polynomial degree in each variable of the interpolated density between data points LightingAngle None effective angle of the simulated light source MaxPlotPoints Automatic the maximum number of points to include Mesh None how many mesh lines in each direction to draw MeshFunctions {#1&,#2&} how to determine the placement of mesh lines MeshStyle Automatic the style for mesh lines Method Automatic the method to use for interpolation and data reduction PerformanceGoal $PerformanceGoal aspects of performance to try to optimize OpacityFunction Automatic how to compute the opacity at each point PlotLegends None legends for color gradients PlotTheme $PlotTheme overall theme for the plot RegionFunction (True&) how to determine whether a point should be included ScalingFunctions None how to scale individual coordinates - ColorFunction and OpacityFunction are supplied with a single argument, given by default by the scaled value of vali.
- Typical settings for OpacityFunction include:
-
Automatic automatically determined None no opacity function, fully opaque α constant opacity Opacity[α] Interval[…] make values in the interval more opaque func general opacity function - The arguments supplied to RegionFunction are lat, lon and val.
- The value of region in RegionFunction->region can be an entity or geo polygon over which to plot.
- DataRange takes a pair of geo locations to identify the latitude and longitude bounds for gridded values.
-
AlignmentPoint Center the default point in the graphic to align with 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 BoundaryStyle None how to draw RegionFunction boundaries BoxRatios Automatic effective 3D bounding box ratios ClippingStyle None how to draw values clipped by PlotRange ColorFunction Automatic how to color the plot ColorFunctionScaling True whether to scale the argument to ColorFunction ContentSelectable Automatic whether to allow contents to be selected CoordinatesToolOptions Automatic detailed behavior of the coordinates tool DataRange Automatic the range of lat and lon values to assume for data 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 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 InterpolationOrder None the polynomial degree in each variable of the interpolated density between data points LabelStyle {} style specifications for labels LightingAngle None effective angle of the simulated light source MaxPlotPoints Automatic the maximum number of points to include Mesh None how many mesh lines in each direction to draw MeshFunctions {#1&,#2&} how to determine the placement of mesh lines MeshStyle Automatic the style for mesh lines MetaInformation {} meta-information about the map Method Automatic the method to use for interpolation and data reduction OpacityFunction Automatic how to compute the opacity at each point PerformanceGoal $PerformanceGoal aspects of performance to try to optimize PlotLabel None an overall label for the plot PlotLegends None legends for color gradients 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 PlotTheme $PlotTheme overall theme for the plot 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 RegionFunction (True&) how to determine whether a point should be included RotateLabel True whether to rotate y labels on the frame ScalingFunctions None how to scale individual coordinates Ticks Automatic axes ticks TicksStyle {} style specifications for axes ticks
List of all options
Examples
open all close allBasic Examples (4)
Plot data associated with geo locations:
GeoDensityPlot[IconizedObject[«locs»] -> IconizedObject[«vals»]]Plot the temperature for cities near Austin, TX, with a legend:
data = Table[city -> AirTemperatureData[city], {city, GeoNearest["City", Entity["City", {"Austin", "Texas", "UnitedStates"}], {All, Quantity[15, "Miles"]}]}];GeoDensityPlot[data, OpacityFunction -> 0.6, PlotLegends -> Automatic, GeoBackground -> "StreetMapNoLabels"]Use a GeoPosition of locations with elevations around Crater Lake:
elevations = GeoElevationData[["crater lake, oregon"], Automatic, "GeoPosition", GeoZoomLevel -> 10, GeoRange -> ["4 miles"]]GeoDensityPlot[elevations]Plot gridded values over a specified range of coordinates:
GeoDensityPlot[Table[lat, {lat, 0, 90}, {lon, 0, 180}], DataRange -> {GeoPosition[{0, 0}], GeoPosition[{90, 180}]}]Scope (12)
Data (7)
Use an Association with locations for keys and values for counts:
data = AssociationMap[AirTemperatureData, GeoNearest["City", Entity["City", {"Austin", "Texas", "UnitedStates"}], {All, Quantity[15, "Miles"]}]];GeoDensityPlot[data, ClippingStyle -> Automatic, OpacityFunction -> 0.7]Use WeightedData:
data = WeightedData[GeoNearest["City", Entity["City", {"Austin", "Texas", "UnitedStates"}], {All, Quantity[15, "Miles"]}], WindSpeedData]GeoDensityPlot[data, ClippingStyle -> Automatic, OpacityFunction -> 0.7]Locations can be given as entities or geo positions:
cities = GeoNearest["City", ["London"], {All, Quantity[15, "Miles"]}];
values = QuantityMagnitude[AirTemperatureData[cities]];{GeoDensityPlot[cities -> values, ClippingStyle -> Automatic], GeoDensityPlot[GeoPosition[cities] -> values, ClippingStyle -> Automatic]}GeoRange is selected automatically:
data = Table[city -> city["Population"], {city, EntityList[EntityClass["City", {EntityProperty["City", "Country"] -> EntityClass["Country", "Europe"], EntityProperty["City", "Population"] -> TakeLargest[25]}]]}];GeoDensityPlot[data]Use GeoRange to focus on geographic areas of interest:
GeoDensityPlot[data, GeoRange -> {GeoPosition[{45, -4}], GeoPosition[{55, 15}]}]Use MaxPlotPoints to limit the number of points used:
data = GeoPosition[{{39.42296329026445, 9.004551785001611, 209.1171605179111},
{39.45454274839568, 16.131855105644053, 402.83170734078647},
{45.27022173540008, 12.146380567416564, 42.62383013147054},
{44.25528138412038, 8.021506966616876, 1045.48 ... {46.04707442782128, 9.31842451325494, 699.8179114842161}, {45.6212605219361, 11.306547031915734,
197.15597908355818}, {37.866093881696365, 14.292310964966358, 783.2942556646558},
{40.18855517022835, 9.466724736719614, 694.9632840795464}}];Table[GeoDensityPlot[data, MaxPlotPoints -> mp, Mesh -> All], {mp, {Infinity, 10, 5}}]Use RegionFunction to restrict the density to a region:
data = GeoPosition[{{39.42296329026445, 9.004551785001611, 209.1171605179111},
{39.45454274839568, 16.131855105644053, 402.83170734078647},
{45.27022173540008, 12.146380567416564, 42.62383013147054},
{44.25528138412038, 8.021506966616876, 1045.48 ... {46.04707442782128, 9.31842451325494, 699.8179114842161}, {45.6212605219361, 11.306547031915734,
197.15597908355818}, {37.866093881696365, 14.292310964966358, 783.2942556646558},
{40.18855517022835, 9.466724736719614, 694.9632840795464}}];GeoDensityPlot[data, RegionFunction -> ["italy"]]Use discrete colors instead of smoothly shaded ones:
data = GeoPosition[{{39.42296329026445, 9.004551785001611, 209.1171605179111},
{39.45454274839568, 16.131855105644053, 402.83170734078647},
{45.27022173540008, 12.146380567416564, 42.62383013147054},
{44.25528138412038, 8.021506966616876, 1045.48 ... {46.04707442782128, 9.31842451325494, 699.8179114842161}, {45.6212605219361, 11.306547031915734,
197.15597908355818}, {37.866093881696365, 14.292310964966358, 783.2942556646558},
{40.18855517022835, 9.466724736719614, 694.9632840795464}}];GeoDensityPlot[data, RegionFunction -> ["italy"], InterpolationOrder -> 0]Presentation (5)
GeoDensityPlot[IconizedObject[«ozone levels»], PlotLabel -> "World Ozone Layer", PlotLegends -> Placed[Automatic, Below]]GeoDensityPlot[IconizedObject[«ozone levels»], ColorFunction -> Hue, PlotLegends -> Placed[Automatic, Below]]Use a different geographical projection:
GeoDensityPlot[IconizedObject[«ozone levels»], ColorFunction -> Hue, GeoProjection -> "LambertAzimuthal", GeoRange -> "World"]Show the plot on a street map:
GeoDensityPlot[IconizedObject[«Spain elevations»], GeoBackground -> "StreetMap", ColorFunction -> "Rainbow"]GeoDensityPlot[IconizedObject[«Spain elevations»], GeoBackground -> "Satellite"]Use a theme with bright contours on a relief map:
GeoDensityPlot[IconizedObject[«ozone levels»], PlotTheme -> "Web"]Options (82)
AspectRatio (4)
By default, the ratio of the height to width for the plot is determined automatically:
GeoDensityPlot[IconizedObject[«ozone levels»]]Make the height the same as the width with AspectRatio1:
GeoDensityPlot[IconizedObject[«ozone levels»], AspectRatio -> 1]Use a numerical value to specify the height-to-width ratio:
GeoDensityPlot[IconizedObject[«ozone levels»], AspectRatio -> 1 / 3, GeoBackground -> "ReliefMap"]AspectRatioFull adjusts the height and width to tightly fit inside other constructs:
map = GeoDensityPlot[IconizedObject[«ozone levels»], AspectRatio -> Full];{Framed[Pane[map, {200, 200}]], Framed[Pane[map, {100, 50}]]}Axes (4)
By default, Axes are not drawn for GeoDensityPlot:
GeoDensityPlot[IconizedObject[«ozone levels»]]Use AxesTrue to turn on axes:
GeoDensityPlot[IconizedObject[«ozone levels»], Axes -> True]Use AxesOrigin to specify where the axes intersect:
GeoDensityPlot[IconizedObject[«ozone levels»], Axes -> True, AxesOrigin -> {50, 0}]Turn each axis on individually:
{GeoDensityPlot[IconizedObject[«ozone levels»], Axes -> {True, False}], GeoDensityPlot[IconizedObject[«ozone levels»], Axes -> {False, True}]}AxesLabel (3)
No axes labels are drawn by default:
GeoDensityPlot[IconizedObject[«ozone levels»], Axes -> True]GeoDensityPlot[IconizedObject[«ozone levels»], Axes -> True, AxesLabel -> y]GeoDensityPlot[IconizedObject[«ozone levels»], Axes -> True, AxesLabel -> {x, y}]AxesOrigin (2)
AxesStyle (4)
Change the style for the axes:
GeoDensityPlot[IconizedObject[«ozone levels»], Axes -> True, AxesStyle -> Red]Specify the style of each axis:
GeoDensityPlot[IconizedObject[«ozone levels»], Axes -> True, AxesStyle -> {{Thick, Brown}, {Thick, Blue}}]Use different styles for the ticks and the axes:
GeoDensityPlot[IconizedObject[«ozone levels»], Axes -> True, AxesStyle -> Green, TicksStyle -> Black]Use different styles for the labels and the axes:
GeoDensityPlot[IconizedObject[«ozone levels»], Axes -> True, AxesStyle -> Green, LabelStyle -> Black]BoundaryStyle (3)
No boundary is used by default:
GeoDensityPlot[IconizedObject[«ozone levels»]]Use a red boundary around the edges:
GeoDensityPlot[IconizedObject[«ozone levels»], BoundaryStyle -> Red]Outline the region being plotted:
GeoDensityPlot[IconizedObject[«ozone levels»], BoundaryStyle -> Black, RegionFunction -> Function[{lat, lon, val}, val > 300]]ColorFunction (2)
GeoDensityPlot[IconizedObject[«ozone levels»], ColorFunction -> Hue, PlotLegends -> Placed[Automatic, Below]]Named color gradients color in the
direction:
GeoDensityPlot[IconizedObject[«ozone levels»], ColorFunction -> "BlueGreenYellow", PlotLegends -> Placed[Automatic, Below]]ColorFunctionScaling (1)
DataRange (1)
Frame (4)
GeoDensityPlot does not use a frame by default:
GeoDensityPlot[IconizedObject[«locs»] -> IconizedObject[«vals»]]Use FrameTrue to draw a frame around the plot:
GeoDensityPlot[IconizedObject[«locs»] -> IconizedObject[«vals»], Frame -> True]Draw a frame on the left and right edges:
GeoDensityPlot[IconizedObject[«locs»] -> IconizedObject[«vals»], Frame -> {{True, True}, {False, False}}]Draw a frame on the left and bottom edges:
GeoDensityPlot[IconizedObject[«locs»] -> IconizedObject[«vals»], Frame -> {{True, False}, {True, False}}]FrameLabel (4)
Place a label along the bottom frame of a plot:
GeoDensityPlot[IconizedObject[«locs»] -> IconizedObject[«vals»], Frame -> True, FrameLabel -> {"label"}]Frame labels are placed on the bottom and left frame edges by default:
GeoDensityPlot[IconizedObject[«locs»] -> IconizedObject[«vals»], Frame -> True, FrameLabel -> {"latitude", "longitude"}]Place labels on each of the edges in the frame:
GeoDensityPlot[IconizedObject[«locs»] -> IconizedObject[«vals»], Frame -> True, FrameLabel -> {{"left", "right"}, {"bottom", "top"}}]Use a customized style for both labels and frame tick labels:
GeoDensityPlot[IconizedObject[«locs»] -> IconizedObject[«vals»], Frame -> True, FrameLabel -> {{"left", "right"}, {"bottom", "top"}}, LabelStyle -> Directive[Bold, StandardBlue]]FrameStyle (2)
Specify the style of the frame:
GeoDensityPlot[IconizedObject[«locs»] -> IconizedObject[«vals»], Frame -> True, FrameStyle -> Directive[StandardBlue, Thick]]Specify the style for each frame edge:
GeoDensityPlot[IconizedObject[«locs»] -> IconizedObject[«vals»], Frame -> True, FrameStyle -> {{Directive[Green, Thick], Red}, {Directive[Gray, Thick], Blue}}]GeoBackground (2)
By default, geo density plots are shown on an unlabeled map:
GeoDensityPlot[IconizedObject[«ozone levels»]]Use a relief map of the world:
GeoDensityPlot[IconizedObject[«ozone levels»], GeoBackground -> "ReliefMap"]Use a satellite image instead:
GeoDensityPlot[IconizedObject[«ozone levels»], GeoBackground -> "Satellite"]GeoCenter (2)
GeoGridLines (2)
Overlay a map with geo grid lines using the default styling:
GeoDensityPlot[IconizedObject[«ozone levels»], GeoGridLines -> Automatic]Draw geo grid lines at specific lines of latitude and longitude:
GeoDensityPlot[IconizedObject[«ozone levels»], GeoGridLines -> {Range[-90, 90, 5], Range[-180, 180, 45]}]GeoGridLinesStyle (1)
GeoModel (2)
Use the default (ellipsoidal) model of the Earth:
GeoDensityPlot[IconizedObject[«ozone levels»]]Use the Moon as reference model:
moonelevations = GeoElevationData[RandomGeoPosition[10000], Automatic, "GeoPosition", GeoZoomLevel -> 6, GeoModel -> "Moon"];GeoDensityPlot[moonelevations, GeoModel -> Entity["PlanetaryMoon",
"Moon"]]GeoProjection (2)
Use GeoProjection to view the map in the Robinson projection:
GeoDensityPlot[IconizedObject[«ozone levels»], GeoProjection -> "Robinson"]Use the Bonne projection instead:
GeoDensityPlot[IconizedObject[«ozone levels»], GeoProjection -> "Bonne"]GeoRange (3)
The geographic region to show is automatically determined:
GeoDensityPlot[IconizedObject[«ozone levels»]]GeoDensityPlot[IconizedObject[«ozone levels»], GeoRange -> ["north america"]]Specify the corners of the geo range:
GeoDensityPlot[IconizedObject[«ozone levels»], GeoRange -> {{0, 65}, {-30, 30}}]GeoRangePadding (4)
Use GeoRangePadding->None to remove padding:
GeoDensityPlot[IconizedObject[«Spain elevations»], GeoRangePadding -> None]Use 250 kilometers of padding on each side of the map:
GeoDensityPlot[IconizedObject[«Spain elevations»], GeoRangePadding -> Quantity[250, "Kilometers"]]Specify padding for latitude only:
GeoDensityPlot[IconizedObject[«Spain elevations»], GeoRangePadding -> {Quantity[250, "Kilometers"], None}]Specify different padding on each side of the map:
GeoDensityPlot[IconizedObject[«Spain elevations»], GeoRangePadding -> {{None, Quantity[250, "Kilometers"]}, {Quantity[300, "Kilometers"], Quantity[350, "Kilometers"]}}]GeoScaleBar (3)
Show the plot with a scale bar in metric units:
GeoDensityPlot[IconizedObject[«ozone levels»], GeoScaleBar -> "Metric"]Show the plot with a scale bar in metric and imperial units:
GeoDensityPlot[IconizedObject[«ozone levels»], GeoScaleBar -> Placed[{"Imperial", "Metric"}, {Right, Top}]]Place the scale bar in the top-right corner:
GeoDensityPlot[IconizedObject[«ozone levels»], GeoScaleBar -> Placed["Metric", {Right, Top}]]GeoServer (2)
Use the Wolfram geo server to download map tiles:
GeoDensityPlot[IconizedObject[«Spain elevations»], GeoServer -> "http://a.tile.openstreetmap.org/`1`/`2`/`3`.png"]Specify explicitly some of the parameters of the tile server:
GeoDensityPlot[IconizedObject[«Spain elevations»], GeoServer -> {"https://basemap.nationalmap.gov/arcgis/rest/services/USGSHydroCached/MapServer/tile/`1`/`3`/`2`", "Projection" -> "Mercator", "TileSize" -> 256, "ZoomRange" -> {1, 18}}]GeoZoomLevel (2)
Explicitly specify GeoZoomLevel to obtain a lower-resolution map rendering:
GeoDensityPlot[IconizedObject[«Spain elevations»], GeoZoomLevel -> 1]Explicitly specify GeoZoomLevel to obtain a higher-resolution map rendering:
GeoDensityPlot[IconizedObject[«Spain elevations»], GeoZoomLevel -> 4]InterpolationOrder (2)
MaxPlotPoints (2)
GeoDensityPlot normally uses all of the points in the dataset:
GeoDensityPlot[IconizedObject[«Spain elevations»]]Limit the number of points used in each direction:
GeoDensityPlot[IconizedObject[«Spain elevations»], MaxPlotPoints -> 5]Mesh (1)
MeshFunctions (2)
Use mesh lines in the
and
directions:
GeoDensityPlot[IconizedObject[«ozone levels»], MeshFunctions -> {#1&, #2&}, Mesh -> {5, 5}, MeshStyle -> Black]Use mesh lines in the val direction:
GeoDensityPlot[IconizedObject[«ozone levels»], MeshFunctions -> {#3&}, Mesh -> {5, 5}, MeshStyle -> Black]MeshStyle (2)
GeoDensityPlot[IconizedObject[«ozone levels»], MeshStyle -> Red, Mesh -> 5, MeshFunctions -> {#1&, #2&}]Use red mesh lines in the
direction and dashed mesh lines in the
direction:
GeoDensityPlot[IconizedObject[«ozone levels»], MeshStyle -> {Red, Dashed}, Mesh -> 5, MeshFunctions -> {#1&, #2&}]OpacityFunction (4)
The opacity is automatically varied to highlight areas in the data:
GeoDensityPlot[IconizedObject[«population»], DataRange -> IconizedObject[«range»]]GeoDensityPlot[IconizedObject[«population»], DataRange -> IconizedObject[«range»], OpacityFunction -> None, ClippingStyle -> Automatic]GeoDensityPlot[IconizedObject[«population»], DataRange -> IconizedObject[«range»], OpacityFunction -> 0.6, ClippingStyle -> Automatic]Use increasing opacity for the lowest quartile and full opacity for the rest:
GeoDensityPlot[IconizedObject[«population»], DataRange -> IconizedObject[«range»], OpacityFunction -> (If[# < 0.25, 4#, 1]&)]PerformanceGoal (2)
Generate a higher-quality plot:
Timing[GeoDensityPlot[IconizedObject[«ozone levels»], PerformanceGoal -> "Quality"]]Emphasize performance, possibly at the cost of quality:
Timing[GeoDensityPlot[IconizedObject[«ozone levels»], PerformanceGoal -> "Speed"]]PlotLegends (4)
GeoDensityPlot[IconizedObject[«ozone levels»]]GeoDensityPlot[IconizedObject[«ozone levels»], PlotLegends -> Automatic]Legends automatically use the same colors as the density plot:
GeoDensityPlot[IconizedObject[«ozone levels»], ColorFunction -> "Rainbow", PlotLegends -> Automatic]Use Placed to change legend placement:
GeoDensityPlot[IconizedObject[«ozone levels»], PlotLegends -> Placed[Automatic, Below]]PlotTheme (1)
RegionFunction (3)
Plot only certain ranges of values:
GeoDensityPlot[IconizedObject[«ozone levels»], RegionFunction -> Function[{lat, lon, val}, val > 300]]GeoDensityPlot[IconizedObject[«ozone levels»], RegionFunction -> Function[{lat, lon, z}, 0 < lat || lon > 0 ]]GeoDensityPlot[IconizedObject[«ozone levels»], RegionFunction -> ["Africa"], GeoRange -> "World"]Applications (2)
Show gridded population density on a map:
data = ResourceData[ResourceObject["Gridded World Population Density"], "Year2015Zoom1"]{latmin, latmax, lonmin, lonmax} = Normal[ResourceData[ResourceObject["Gridded World Population Density"], "RangeData"]["Zoom1"]] /@ {"latmin", "latmax", "lonmin", "lonmax"}GeoDensityPlot[ImageData[data], DataRange -> {GeoPosition[{latmin, lonmin}], GeoPosition[{latmax, lonmax}]}]Plot the strength of the Earth's geomagnetic field:
locs = GeoPosition[Flatten[Table[{lat, lon}, {lat, -90, 90, 10}, {lon, -180, 180, 10}], 1]];mag = QuantityMagnitude@GeomagneticModelData[locs, Now, "Magnitude"];GeoDensityPlot[locs -> mag, PlotLegends -> Automatic, OpacityFunction -> 0.5]Properties & Relations (10)
Draw contours on a map with GeoContourPlot:
GeoContourPlot[IconizedObject[«locs»] -> IconizedObject[«vals»]]Use ListDensityPlot for general data:
ListDensityPlot[RandomReal[10, {30, 30}]]Use GeoBubbleChart to show values with scaled bubbles:
states = EntityValue[EntityClass["AdministrativeDivision", "USStatesAllStates"], EntityFunction[e, {e, e["Population"]}]];GeoBubbleChart[states]Use GeoRegionValuePlot to show values with colored regions:
states = EntityValue[EntityClass["AdministrativeDivision", "USStatesAllStates"], EntityFunction[e, {e, e["Population"]}]];GeoRegionValuePlot[states]Use GeoHistogram to aggregate locations into bins:
pts = RandomGeoPosition[["US"], 500];GeoHistogram[pts, "AdministrativeDivision1"]Use GeoSmoothHistogram to generate smooth densities from locations:
pts = RandomGeoPosition[["US"], 500];GeoSmoothHistogram[pts]Use GeoListPlot for individual locations:
GeoListPlot[RandomGeoPosition[["Italy"], 500]]Use GeoVectorPlot and GeoStreamPlot for vector fields:
vecs = GeoVectorENU[GeoPosition[{{41.72044646550199, -97.44319222116899},
{46.35277665685431, -111.4315456426783}, {38.869826216010324, -106.10009940692615},
{31.787574043650135, -96.48279364395346}, {39.852469082609225, -93.15525687634982},
... 25157985637201197},
{0.4901023278760972, 0.9891989981823661}, {0.8720928861484118, 0.30133102014639235},
{-0.9277032216653329, -0.5872478295734753}, {0.947583037831254, -0.6748021812104095},
{-0.6838608673381241, 0.12312620699389898}}];{GeoVectorPlot[vecs], GeoStreamPlot[vecs]}Use GeoGraphValuePlot to show the values on geographic networks:
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}}]Plot relationships between geographic locations on a map:
GeoGraphPlot[IconizedObject[«nearest US cities»]]Related Guides
History
Text
Wolfram Research (2020), GeoDensityPlot, Wolfram Language function, https://reference.wolfram.com/language/ref/GeoDensityPlot.html.
CMS
Wolfram Language. 2020. "GeoDensityPlot." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/GeoDensityPlot.html.
APA
Wolfram Language. (2020). GeoDensityPlot. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/GeoDensityPlot.html
BibTeX
@misc{reference.wolfram_2026_geodensityplot, author="Wolfram Research", title="{GeoDensityPlot}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/GeoDensityPlot.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_geodensityplot, organization={Wolfram Research}, title={GeoDensityPlot}, year={2020}, url={https://reference.wolfram.com/language/ref/GeoDensityPlot.html}, note=[Accessed: 13-June-2026]}