wuwucat
wuwucat

Reputation: 2621

matplotlib:plot a line closed

I plot a figure as below:

plt.plot(lon,lat,'ro-')
plt.show()

enter image description here

but the lines aren't closed. How can I make them closed as polygons? thank you

Upvotes: 7

Views: 6429

Answers (2)

qwertz
qwertz

Reputation: 2299

A helper method I use:

def plotPolygonOutline(points: List[Tuple[float, float]], color='r', lineWidth=1):
    x, y = map(list, zip(*points))
    x.append(x[0])
    y.append(y[0])
    plt.plot(x, y, marker='o', color=color, linewidth=lineWidth)

Upvotes: 1

Bennett Brown
Bennett Brown

Reputation: 5383

Use matplotlib.pyplot.fill(lon,lat,fill=False) instead of plot().

See http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.fill for details. The color string refers to the interior, so to use red for the polygon, use

plt.fill(lon, lat, edgecolor='r', fill=False)

and continue to use plot() to place circles on the vertices if desired.

Upvotes: 17

Related Questions