繁体   English   中英

Cartopy 在 map 上绘制不需要的线条

[英]Cartopy plotting unwanted lines on map

我对 Python 中的地图/carto 游戏非常(非常)新手,并且发现 CartoPy 可用的资源枯竭,所以我认为这里有人可以提供帮助。

我有数千个纬度/经度坐标到 plot,分布在 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,并且最终希望以某种方式将其合并到 map 中(无论是不同大小或颜色的标记还是不同的颜色)。 实现这一目标的最佳方法是什么? 是否值得尝试做一个热图风格的 plot 代替/

需要任何澄清,请不要犹豫!

谢谢, R

要消除标记之间的红线,请将linestyle='none'传递给plot()

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM