在这个使用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条平行线上。但是所产生的情节像凌乱的东西一样杂乱无章:
我该如何纠正这个问题?
此外,我还有第三列,其数字值表示每个坐标点处特定要素类型的value_count,并且最终希望以某种方式将其合并到地图中(无论是不同大小或颜色的标记还是不同的颜色)。什么是实现这一目标的最佳方法?值得尝试制作热图样式的图吗//
需要任何澄清,请随时提出要求!
谢谢, R
答案 0 :(得分:0)
要摆脱标记之间的红线,请将linestyle='none'
传递到plot()
。
关于第二个问题,您可能应该使用ax.scatter()
并使用
value_count
颜色变量。