Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

Contour Plot & Density Map Maker

Contours from a grid of values, scattered x-y-z points or the density of x-y points.

Free preview, no sign-upIncluded in your pass Pro tool Pro pass: ₹179 / $5.99 for 30 days On this device: nothing is sent
+3 +1 more details No uploadWorks offline once opened Data

Free preview: the plot at preview size (up to 640 pixels) with a watermark. Locked until you unlock it: download and copy.

Pro pass ₹179 for 30 days or ₹79 for 1 week, one‑time. Pro pass $5.99 for 30 days or $2.99 for 1 week, one‑time. How to unlock

Try before you buy.

  • Free preview: the plot at preview size (up to 640 pixels) with a watermark.
  • Locked until you unlock it: download and copy.
  • Unlock: Pro pass, ₹179 for 30 days or ₹79 for 1 week, a one-time payment that never renews. Unlock: Pro pass, $5.99 for 30 days or $2.99 for 1 week, a one-time payment that never renews.

Ways to unlock shows how to get the full result.

See passes (opens in a new tab)

Printing this result is locked in the free preview.

A matrix (x values across the first row, y values down the first column), or columns of x, y and z — or only x and y for a density.

Levels

Plot

Look

Words

Next steps Done. What next?

Start over

A Pro pass unlocks the full result. See passes

All data & spreadsheet tools

About the Contour Plot & Density Map Maker

A contour plot draws lines where a value is the same — heights on a map, temperatures across a plate, a function of two variables — and fills the bands between them with colour, so the shape of a surface reads at a glance. Paste or open one of three kinds of data: a matrix of z values (x across the top, y down the side), x, y and z columns of scattered measurements, which are interpolated onto a grid by inverse distance weighting or linearly between Delaunay triangles, or only x and y points, whose density is estimated with a Gaussian kernel.

Choose the levels — round numbers, a count, your own list, a log scale, or for densities the share of points each line encloses — a colour map that reads in grey and for colour-blind readers, and the view: filled contours, lines with their values written on them, a heat map, hexagonal bins or a Voronoi diagram. Everything is computed in your browser.

How to use it

  1. Paste a table into Your data or open a CSV or Excel file: a matrix with x values across the first row and y values down the first column, or columns of x, y and z (or only x and y). Pick an example to start from one.
  2. Check Read as and the columns; for scattered x-y-z points choose Inverse distance weighting or Linear between points, and for x-y points the bandwidth rule of the density.
  3. Choose the Levels: round numbers, how many, your own list such as 10, 20, 50, or for a density the shares of points such as 50, 80, 95.
  4. Pick the View, the colour map, labels on the lines, the data points, equal x and y scales or log axes, and type the titles.
  5. Download the plot as PNG (up to 4×), SVG or PDF, and the contour lines and areas as GeoJSON or CSV — with a Pro pass, or after unlocking this result; without one the page shows a free preview.

Examples

A matrix of values
Input
y \ x, -2, -1.83, -1.67, …, 2
-2, -0.0007, -0.0012, -0.0019, …
…
Result
Filled bands from −0.4275 to 0.4275, with lines at −0.4, −0.3 … 0.4 and the value written on each line
Scattered heights
Input
Easting (m), Northing (m), Height (m)
0, 0, 119.9
61.8, 158.2, 117.2
123.6, 316.4, 111.9
…
Result
Heights from 105.7 to 189.4 m on an 80 × 80 grid (inverse distance weighting, power 2), with lines every 10 m from 110 to 180
Where points cluster
Input
x, y
2.11, 3
1.86, 3.074
2.022, 2.86
…
Result
Density lines that enclose 25 %, 50 %, 75 % and 90 % of the points around each of two clusters

Common uses

  • Height or depth maps from survey points, boreholes or soundings.
  • Temperature, pollution, signal strength or rainfall measured at stations.
  • Response surfaces of experiments and simulations: a value over two settings.
  • Where events cluster: customers, sightings, incidents or measurements, as density contours or hexagonal bins.
  • Coverage and nearest-site areas as a Voronoi diagram.

Three kinds of data

  • Matrix: the first row holds the x values, the first column the y values and the other cells z; empty cells stay gaps. Tabs, commas, semicolons or spaces may separate the numbers (spaces as numpy.savetxt writes them). Write a corner cell such as y \ x to name the axes.
  • x, y and z columns: when the x and y values form a complete grid (every x with every y), it is used as that grid; otherwise the points are scattered and are interpolated onto one. Columns named x, lon or easting and y, lat or northing are found by themselves, with or without a unit in brackets (“Easting (m)”).
  • x and y only: a density of the points is estimated, and contours show where they are most concentrated.

From scattered points to a grid

Inverse distance weighting (Shepard’s method) gives every grid node the weighted mean z = Σ wᵢ zᵢ ÷ Σ wᵢ of all points, with wᵢ = 1 ÷ dᵢ^power. A higher power follows nearby points more closely; any power makes small peaks or pits around isolated points. With Scale x and y to the same range on (the default), each axis is first scaled to its range, so metres and kilometres count alike; off, distances use the raw numbers, which suits x and y in one unit (eastings and northings in metres). Linear between points joins the points into Delaunay triangles and interpolates inside each triangle; it never invents values outside the points, so the area beyond them stays empty. The grid resolution sets how fine the contours can be.

Density contours

The density is a sum of Gaussian kernels, f(p) = (1 ÷ n) Σ φ_H(p − pᵢ), on a grid that reaches three bandwidths past the outermost points. Scott’s rule uses the data’s own covariance × n^(−1/3) as the kernel’s covariance, as SciPy’s gaussian_kde does in two dimensions (factor n^(−1/(d+4)), squared); Silverman’s rule of thumb sets each axis’s bandwidth to 0.9 · min(σ, IQR ÷ 1.34) · n^(−1/5), from B. W. Silverman’s Density Estimation for Statistics and Data Analysis. Smoothing multiplies either bandwidth. Levels by share of points are the densities above which that share of the points lie: the 50 % line encloses the densest area that holds half of them.

How the contours are drawn

Each square of four grid nodes is drawn by marching squares: where a level lies between two nodes, the line crosses that edge at the point found by linear interpolation; in the two ambiguous cases (opposite corners above the level), the mean of the four corners decides how the line runs. Filled bands are the areas at or above each level, painted from the lowest level up, so a band shows the values between two levels; missing values leave gaps. Hover over a band or a line to read its range or level.

Hexagonal bins, Voronoi cells and the heat map

Hexagonal bins count the points in hexagons of the radius you set (or show the mean z of their points) and colour them on a continuous scale, a clearer picture than thousands of overlapping dots. A Voronoi diagram gives each point the area closer to it than to any other point, coloured by its z. The heat map colours every node of the grid, each cell reaching half way to its neighbours.

The files

PNG (1× to 4×), SVG and a vector PDF of the plot; GeoJSON of the lines (one MultiLineString per level) or of the areas (one MultiPolygon per level holding everything at or above it, with holes, outer rings counter-clockwise as RFC 7946 asks); and a CSV of every line’s points. GeoJSON and CSV use the data’s own x and y, so contours of longitude–latitude data open on a map in QGIS or geojson.io.

Limitations

  • Up to 20,000 points (linear interpolation and Voronoi diagrams up to 5,000); a matrix or an x-y-z grid of up to 250,000 values; interpolated and density grids of up to 200 × 200 nodes. A heat map of a grid more than 160 nodes across shows every second node or fewer.
  • Interpolation cannot add detail that the points do not hold: contours between distant points are a smooth guess, not a measurement.
  • Log scales need values above 0: z values at or below 0 are left out of a log colour scale, and log axes need positive x or y.
  • Contour labels are left out where they would overlap or where a line is too short to carry one.

Privacy

On this device: nothing is sent

Everything happens in your browser. What you enter or open here is not uploaded or stored by MySmartCoPilot.

Frequently asked questions

What do I get without a pass?

Without a pass, Contour Plot & Density Map Maker shows the plot at preview size (up to 640 pixels) with a watermark. Until you unlock it, the result can’t be downloaded or copied. A Pro, Premium or Ultimate pass, a one-time payment that never renews, unlocks the full result. The pricing page lists the passes and their prices.

How do I make a contour plot from Excel?

Lay out the values as a matrix (x values across the first row, y values down the first column) or as three columns x, y and z, copy the cells and paste them into Your data, or open the file.

Which power should I use for inverse distance weighting?

Power 2 is the usual choice. A power of 1 gives smoother, flatter surfaces; 3 or 4 keeps each point’s value over a larger area around it, with sharper changes between points.

Scott’s rule or Silverman’s?

Scott’s rule follows the shape of the whole cloud, including its tilt, and suits one roughly elliptical group. Silverman’s rule works on each axis separately and uses the interquartile range, so it is less swayed by outliers and smooths several clusters less. Raise Smoothing for a calmer picture, lower it to see more detail.

What does a “90 %” density line mean?

Nine in ten of your points lie inside the line, and the area it encloses is the densest such area. The lines for smaller shares sit inside it, around the densest part.

Can I open the contours in QGIS or on a map?

Yes. Download the GeoJSON of the lines or areas: with longitude as x and latitude as y it lines up with any web map; with other coordinates, open it in a project that uses the same coordinate system.

Is my data uploaded?

No. The surface, the contours and the files are computed in your browser, and the files you open stay on your device.

Quick answers and tool search

Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.