[英]Python: How to plot scatter plot at specific point on map in cartopy?
[英]How to plot intervals in a cartopy map?
我有這個 df:
CODE STATION LATITUDE LONGITUDE INTERVAL
0 109014 BUENA VISTA -9.433706 -78.208250 [25, 30)
1 111022 HUAYAN -11.452808 -77.122006 [25, 30)
2 111023 ムAムA -11.987444 -76.841944 [25, 30)
3 112058 PACARAN -12.866892 -76.057928 [25, 30)
4 111004 ALCANTARILLA -11.060681 -77.550106 [20, 25)
.. ... ... ... ... ...
264 114050 ANANEA -14.676278 -69.533855 [15, 20)
265 113100 VILCASHUAMAN -13.668877 -73.952427 [15, 20)
266 113101 CHILCAYOC -13.882978 -73.726799 [15, 20)
267 114093 PUTINA -14.921000 -69.875700 [15, 20)
268 114096 CUYO CUYO -14.488841 -69.550035 [15, 20)
區間列是一種分類類型。
我想根據具有不同標記的間隔在地圖中繪制點。
對於區間 [25,30) 一個紅色三角形,對於區間 [20,25) 一個綠色正方形等。所以我正在嘗試這個代碼:
fig = plt.figure('map', figsize=(7,7), dpi=200)
ax = fig.add_axes([0.1, 0.12, 0.80, 0.75], projection=ccrs.PlateCarree())
plt.xlabel('LONGITUD')
plt.ylabel('LATITUD')
l1 = NaturalEarthFeature(category='cultural', name='admin_0_countries', scale='50m', facecolor='none')
ax.add_feature(l1, edgecolor='black', linewidth=0.1)
img1 = ax.scatter(df.LONGITUDE, df.LATITUDE, s=6,c=df.INTERVAL,
marker='o',cmap='RdYlGn_r', transform=ccrs.PlateCarree())
我只是在繪制 1 個標記,而且我也收到了這個錯誤:
TypeError: float() argument must be a string or a number, not 'pandas._libs.interval.Interval'
你介意幫我嗎?
提前致謝。
您應該提供與顏色相關的信息而不是分類類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.