Cartopy在地图上绘制不必要的线条

时间:2020-06-15 14:30:40

标签: python pandas matplotlib mapping cartopy

在这个使用Python进行制图/制图的游戏中,我是​​一个非常(非常非常)的新手,并且发现CartoPy的可用资源越来越少,所以我认为这里有人可以提供帮助。

我要绘制成千上万的经/纬坐标,分布在4条平行线上。

到目前为止,我的代码是:

import pandas as pd
import numpy as np
import os    

import matplotlib.pyplot as plt
import cartopy.crs as ccrs       
from cartopy import config         
import cartopy.feature as cf        

latcol = [2]
loncol = [3]
df_lat = pd.read_csv(r'G:\Documents\Thesis\Outputs\concat_Xenos_combineds.csv', usecols = latcol)
df_lon = pd.read_csv(r'G:\Documents\Thesis\Outputs\concat_Xenos_combineds.csv', usecols = loncol)

map = plt.figure(figsize=(15,15))
ax = plt.axes(projection=ccrs.EuroPP())
ax.coastlines(resolution='10m')

ax.add_feature(cf.LAND)
ax.add_feature(cf.OCEAN)
ax.add_feature(cf.COASTLINE)
ax.add_feature(cf.BORDERS, linestyle=':')
ax.add_feature(cf.LAKES, alpha=0.5)
ax.add_feature(cf.RIVERS)

ax.plot(df_lon, df_lat, markersize=2, marker='o', color='red', transform=ccrs.PlateCarree())

ax.stock_img()

正如我所说,坐标分布在4条平行线上。但是所产生的情节像凌乱的东西一样杂乱无章:

Plot

我该如何纠正这个问题?

此外,我还有第三列,其数字值表示每个坐标点处特定要素类型的value_count,并且最终希望以某种方式将其合并到地图中(无论是不同大小或颜色的标记还是不同的颜色)。什么是实现这一目标的最佳方法?值得尝试制作热图样式的图吗//

需要任何澄清,请随时提出要求!

谢谢, R

1 个答案:

答案 0 :(得分:0)

要摆脱标记之间的红线,请将linestyle='none'传递到plot()

关于第二个问题,您可能应该使用ax.scatter()并使用 value_count颜色变量。