2016-05-04 15 views
1

私はPythonで散布を使用するいくつかの問題があります。私は、緯度と経度のサイズ100のベクトル2つ、および1と2の間の値の対応するデータのベクトル100を持っています。北極立体投影図にこれらのデータを表示しようとしていますが、数字。python:scatterは表示されません

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°緯度投影円上すなわち、対応する座標で、私は「+」を持っている)正常に動作します。ここに私のコードです。しかし、データを追加したいときは何も表示されません。

ここで私はスキャッタライトを使用していませんか?

+0

コードは私のために正常に動作します:ラインm.scatter(x, y,marker='+',c=data,cmap=cmap, norm=norm_color,edgecolor='none')次の作業の交換で

。 numpy、matplotlib、basemapのどのバージョンを使用していますか?そして、私は、 'm.scatter(xx、yy、marker = '+')ではなく' m.scatter(x、y、marker = '+') 'でなければならないと思います。 –

+0

@ dan-man doc、ありがとう、しかし、私はどのように私のコードが間違っているかを見ていないのですか? – JoVe

+0

@FabianRost numpy 1.6.2、matplotlib 1.1.1rc2、basemap 1.0.3、そしてコードについて正しい=) – JoVe

答えて

1

問題が見つかりました。

オプションmarker='+'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') 
関連する問題