'matplotlib:plot a line closed
I plot a figure as below:
plt.plot(lon,lat,'ro-')
plt.show()
but the lines aren't closed. How can I make them closed as polygons? thank you
Solution 1:[1]
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.
Solution 2:[2]
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)
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | |
Solution 2 | qwertz |