2017-12-03 13 views
0

Basemapでマップを作成しています。子午線/平行線がプロット内またはテキスト内にあるようにしたいとします(0˚N )を白にする。私は黒い背景に対して図を設定することができるようにこれをしたいが、まだ軸を読む。ベースマップの子午線または平行線のラベルをプロット内に設定するか、テキストの色を変更する

これは私が持っているものです。

# plot lines of longitudes 
m.drawparallels(np.arange(-90.,120.,1),labels=[1,1,1,1]) 

# plot latitudes 
m.drawmeridians(np.arange(-180.,180,1),labels=[1,0,0,1]) 

と場合にそれが使用ベースマップのインスタンスとパッケージだここに役立ちます:

m = Basemap(resolution=None, # c, l, i, h, f or None 
     projection='merc', 
     llcrnrlon=33.795774, llcrnrlat=-6.182035, 
     urcrnrlon=34.6000037, urcrnrlat=6.236179,epsg=5520) 

import matplotlib.pyplot as plt 
from mpl_toolkits.basemap import Basemap 

しかし、それはマップの外にラベルを設定すると、彼らは黒です。

答えて

0

ダニまたはテキストの色を変更するには、追加のパラメータをdrawmeridians/drawparallelsにする必要があります。 colorはティックカラーを変更し、textcolorはテキストの色を変更します。追加テキストkwargs(see here)を渡すことによって、テキストのより多くのプロパティを変更することができます。私はFigureオブジェクトをつかんで背景色を変えて、黒のときにそれが動作するようにしました。 Figureを別の背景色で保存する場合は、追加の引数はsavefigになります。

import matplotlib.pyplot as plt 
from mpl_toolkits.basemap import Basemap 

m = Basemap(resolution='h', # c, l, i, h, f or None 
     projection='merc', 
     llcrnrlon=33.795774, llcrnrlat=-6.182035, 
     urcrnrlon=34.6000037, urcrnrlat=6.236179,epsg=5520) 

m.drawcoastlines() 

# plot lines of longitudes 
m.drawparallels(np.arange(-90.,120.,1),labels=[1,1,1,1], color='white', textcolor='white') 

# plot latitudes 
m.drawmeridians(np.arange(-180.,180,1),labels=[1,0,0,1], color='white', textcolor='white') 

fig = plt.gcf() 
fig.set_facecolor('black') 
fig.savefig("white ticks.png", facecolor=fig.get_facecolor(), edgecolor='none') 

plt.show() 

White ticks and labels

関連する問題