我正在寻找一种在底图上绘制实心矩形的方法。我可以很容易地使用drawgreatcircle
方法绘制矩形的边缘,但我找不到实际填充这些矩形(指定颜色和alpha)的方法。如何在底图上绘制矩形
10
A
回答
24
您可以直接将matplotlib.patches.Polygon()添加到您的坐标轴。问题是你是否想要你的矩形定义绘图坐标(绘图上的直线)或地图坐标(绘图上的大圆圈)。无论哪种方式,您都可以在地图坐标中指定顶点,然后通过调用底图实例(下面的示例中的m()
)将它们转换为绘图坐标,自己构建一个多边形并手动将其添加到要渲染的轴。
对于情节定义的矩形坐标,这里有一个例子:
from mpl_toolkits.basemap import Basemap
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
def draw_screen_poly(lats, lons, m):
x, y = m(lons, lats)
xy = zip(x,y)
poly = Polygon(xy, facecolor='red', alpha=0.4)
plt.gca().add_patch(poly)
lats = [ -30, 30, 30, -30 ]
lons = [ -50, -50, 50, 50 ]
m = Basemap(projection='sinu',lon_0=0)
m.drawcoastlines()
m.drawmapboundary()
draw_screen_poly(lats, lons, m)
plt.show()
对于地图坐标定义的矩形,使用同样的方法,但转化绘制坐标插补之前你在地图空间线。对于每一个线段,你必须做的:
lats = np.linspace(lat0, lat1, resolution)
lons = np.linspace(lon0, lon1, resolution)
然后把这些地图坐标绘制坐标(同上,用m()
),然后重新创建一个多边形的情节坐标。
1
类似的回答以上,但更基本的代码:
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
map = Basemap(projection='cyl')
map.drawmapboundary(fill_color='aqua')
map.fillcontinents(color='coral',lake_color='aqua')
map.drawcoastlines()
x1,y1 = map(-25,-25)
x2,y2 = map(-25,25)
x3,y3 = map(25,25)
x4,y4 = map(25,-25)
poly = Polygon([(x1,y1),(x2,y2),(x3,y3),(x4,y4)],facecolor='red',edgecolor='green',linewidth=3)
plt.gca().add_patch(poly)
plt.show()
相关问题
- 1. 在图框上绘制矩形 - 如何限制矩形区域?
- 2. 如何在PictureBox上绘制矩形?
- 3. 在JPanel上绘制矩形
- 4. 在ImageVIew上绘制矩形
- 5. 在图像上绘制一个矩形
- 6. 在地图上绘制矩形
- 7. 在图像上绘制矩形
- 8. 在Google地图上绘制矩形
- 9. javascript在图像上绘制矩形
- 10. 在图像上绘制矩形
- 11. 如何在距离矩阵的热图上绘制树形图
- 12. 如何在JComponent的底部绘制白色矩形?
- 13. 如何在情节中在子图上绘制矩形?
- 14. 如何绘制矩形?
- 15. 如何绘制矩形?
- 16. 在矩形上绘制圆形
- 17. 在圆形公式上绘制矩形
- 18. 绘制矩形视图与曲线底部在Android中
- 19. 绘制矩形上Mapbox GL
- 20. 如何使用matlab在图像上绘制矩形?
- 21. 如何在wxpython中的wx.StaticBitmap图像上绘制矩形
- 22. 如何在图像上绘制模糊的矩形?
- 23. 如何在matplotlib中的图例上绘制一个矩形?
- 24. 绘制矩形图像 - LibGdx
- 25. 用PDFLib绘制矩形图
- 26. JS绘图矩形。无法在旧矩形上重绘
- 27. 在Mac上的JFrame上绘制矩形
- 28. 绘制矩形
- 29. 在矩形内绘制等距矩形
- 30. 如何绘制顶部和底部边缘的矩形