2011-12-06 23 views
0

我正在使用Basemap和pcolor繪製圓柱投影上的標量域。我遇到的問題是網格線被繪製:我不想看到線條,只是彩色方塊。如果我想要網格線,我會使用pcolormesh,對吧?在python pcolor底圖中消除網格/網格線

幫助說設置edgecolors ='none'應該消除線條(與現在不推薦的shading ='flat'一樣)。就我而言,對於我想要繪製的真實數據,似乎並沒有這樣做。

在做了一個測試,我在地圖的一部分的頂部着色了一個小方塊:我只是製作了一個新的3x3隨機數組和一些合適的緯度/經度矩陣。在那個小測試補丁中,單個顏色之間的界線不可見(我想要的);我只是不知道爲什麼,我使用了與真實數據相同的技術。

不需要的網格是黑色的,因爲地圖背景爲黑色map.drawmapboundary(fill_color='0.05'),在「地圖」爲底圖對象:

map = Basemap(projection='cyl', 
       resolution='l', 
       llcrnrlon=lon_min, 
       llcrnrlat=lat_min, 
       urcrnrlon=lon_max, 
       urcrnrlat=lat_max) 

當我離開白色的背景,我看到一個白色的格子,而不是黑色。

我使用,令pColor命令是:

mymapim = map.pcolor(mapxvals, mapyvals, datafield, edgecolors='none', vmin=-5, vmax=35, cmap=my_cmap) 

「數據域」是一個蒙面陣列(不知道是否屏蔽可能有一些用它做)。 'map * vals'是具有比數據字段更多的行和列的矩陣。

所以我花了很多時間試圖弄清楚這一點,試圖在網上找到答案,但我想我會藉此機會向這個社區提出我的第一個問題。感謝您的任何建議。 (我沒有長時間使用python)。

我試圖附上一張圖片來顯示這個問題,但我不能,直到我明顯得到一些聲望。

Ta!

回答

0

我不知道我是否完全理解了你的問題。 Here是關於如何在Basemap中使用pcolor,imshowcontour的一些例子。

+0

謝謝imsc,我看過這些例子,它們很整齊。 我認爲imshow會是我想使用的(比pcolor快得多),但我無法弄清楚如何使它在地圖投影中工作,在那裏我有一個不規則間距的網格。輪廓不適合我的目的。 – user1082930

+0

不幸的是'imshow'只能用於規則間隔的網格。如果你想要更快的繪圖,嘗試在'pcolor'中設置'rasterized = True'。您可以通過圖像質量的成本獲得速度。 – imsc