這是我在Stack Overflow上的第一個問題,所以如果我忽略了任何東西,我很抱歉。我正在繪製巡航位置圖,並且我正在60度北面發生雙平行線,其中一條是直線(在立體投影上)。Matplotlib底圖在立體投影上繪製兩個平行線
有沒有人知道我在做什麼造成這種情況?
我的繪圖腳本(引用外部數據):
from mpl_toolkits.basemap import Basemap
import numpy as np
import matplotlib.pyplot as plt
import sys
import csv
dataFile = sys.argv[1]
dataStream = open(dataFile, 'rb')
dataReader = csv.reader(dataStream, delimiter=',')
numRows = sys.argv[2]
dataLat = []
dataLon = []
dataReader.next()
for row in dataReader:
dataLon.append(float(row[5]))
dataLat.append(float(row[6]))
m = Basemap(width=450000,height=150000,
resolution='f',projection='stere',\
lat_ts=65.4,lat_0=60.4,lon_0=1.91)
m.drawcoastlines(linewidth=0.2)
m.fillcontinents(color='white', lake_color='aqua')
x, y = m(dataLat,dataLon)
m.scatter(x,y,.5,marker='.',color='k')
m.drawparallels(np.arange(0.,81,1.), labels=[1,0,0,0], fontsize=10)
m.drawmeridians(np.arange(-180.,181.,5.), labels=[0,0,0,1], fontsize=10)
m.drawmapboundary(fill_color='aqua')
plt.title("Cruise Track")
plt.show()
例子:
另外一個小問題:什麼是情節的寬度/高度的單位?它似乎沒有在文檔中,我找不到它在任何教程中提及等。
'm'的定義似乎缺失。如果你只調用'm.drawparallels(...',然後是'plt.show()'),你會得到雙重平行嗎? – jorgeca
剛剛添加了定義;看起來我做了一個可憐的複製粘貼作業。 'm.drawparallels'最少需要兩個參數 – ryanjdillon
另外,感謝Squido先生給我的問題添加了數字! – ryanjdillon