python:散点不显示

python: scatter does not display

我在 python 中使用散点图时遇到一些问题。我有 2 个大小为 100 的纬度和经度向量,以及一个包含 1 到 2 之间的相应数据的向量 100。

我试图在北极立体投影图上显示这些数据,但图中什么也没有显示。这是我的代码:

import numpy as np
import matplotlib as mpl
from matplotlib import pyplot as plt
from matplotlib import colors as mpl_colors
from mpl_toolkits.basemap import Basemap`

lon=np.linspace(-180,180,num=100)


lat=np.linspace(75,75,num=100)
data=1+np.random.rand(100)

cmap  =  plt.cm.jet
norm_color = mpl_colors.Normalize(vmin=None, vmax=None, clip=False)
fig=plt.figure()
m = Basemap(projection='npstere',boundinglat=65,lon_0=310,resolution='l')
x,y = m(lon,lat)
m.scatter(x, y,marker='+',c=data,cmap=cmap, norm=norm_color,edgecolor='none') 
plt.show()

当我只是分散坐标时:m.scatter(x, y,marker='+') 它工作正常(我在相应的坐标处有“+”,即在 75° 纬度投影圆上)。但是当我想添加数据时,没有任何显示。

我哪里没有使用分散?

我找到问题所在了。

marker='+'edgecolor='None'选项的同时使用。

后者允许更改标记边缘的颜色。对于标记“+”,边缘就是标记本身:这就是它未显示的原因。

替换第 m.scatter(x, y,marker='+',c=data,cmap=cmap, norm=norm_color,edgecolor='none') 行的以下工作:

m.scatter(x, y,marker='+',c=data,cmap=cmap, norm=norm_color) 

m.scatter(x, y,marker='o',c=data,cmap=cmap, norm=norm_color,edgecolor='none')