Note

Go to the endto download the full example code.

Manual Contour#

Example of displaying your own contour lines and polygons using ContourSet.

importmatplotlib.pyplotaspltfrommatplotlib.contourimportContourSetfrommatplotlib.pathimportPath

Contour lines for each level are a list/tuple of polygons.

lines0=[[[0,0],[0,4]]]lines1=[[[2,0],[1,2],[1,3]]]lines2=[[[3,0],[3,2]],[[3,3],[3,4]]]# Note two lines.

Filled contours between two levels are also a list/tuple of polygons.Points can be ordered clockwise or anticlockwise.

filled01=[[[0,0],[0,4],[1,3],[1,2],[2,0]]]filled12=[[[2,0],[3,0],[3,2],[1,3],[1,2]],# Note two polygons.[[1,4],[3,4],[3,3]]]
fig,ax=plt.subplots()# Filled contours using filled=True.cs=ContourSet(ax,[0,1,2],[filled01,filled12],filled=True,cmap="bone")cbar=fig.colorbar(cs)# Contour lines (non-filled).lines=ContourSet(ax,[0,1,2],[lines0,lines1,lines2],cmap="cool",linewidths=3)cbar.add_lines(lines)ax.set(xlim=(-0.5,3.5),ylim=(-0.5,4.5),title='User-specified contours')
User-specified contours

Multiple filled contour lines can be specified in a single list of polygonvertices along with a list of vertex kinds (code types) as described in thePath class. This is particularly useful for polygons with holes.

fig,ax=plt.subplots()filled01=[[[0,0],[3,0],[3,3],[0,3],[1,1],[1,2],[2,2],[2,1]]]M=Path.MOVETOL=Path.LINETOkinds01=[[M,L,L,L,M,L,L,L]]cs=ContourSet(ax,[0,1],[filled01],[kinds01],filled=True)cbar=fig.colorbar(cs)ax.set(xlim=(-0.5,3.5),ylim=(-0.5,3.5),title='User specified filled contours with holes')plt.show()
User specified filled contours with holes

Gallery generated by Sphinx-Gallery