Python是一種功能強(qiáng)大的編程語言,可以用它來做許多有用的事情,比如繪制地圖。在這篇文章中,我們將使用Python和一些簡(jiǎn)單的代碼來畫出山西地圖。
# 導(dǎo)入必要的庫(kù) import matplotlib.pyplot as plt from mpl_toolkits.basemap import Basemap # 創(chuàng)建地圖對(duì)象 map = Basemap(llcrnrlon=110,llcrnrlat=32,urcrnrlon=115,urcrnrlat=39,resolution='i', projection='tmerc') # 畫出省界線 map.drawcoastlines() map.drawcountries() map.drawstates() # 讀取山西省市數(shù)據(jù) file_path = 'shanxi.province.txt' with open(file_path, 'r') as f: lines = f.readlines() # 遍歷數(shù)據(jù)并繪制標(biāo)記點(diǎn) for line in lines: data = line.strip().split() city_name = data[0] longitude = float(data[1]) latitude = float(data[2]) x, y = map(longitude, latitude) plt.plot(x, y, 'r.', markersize=10) # 添加城市名稱 plt.text(x, y, city_name, fontsize=8, color='black') # 顯示地圖 plt.show()
以上代碼中,我們首先導(dǎo)入需要的庫(kù),然后創(chuàng)建了一個(gè)Basemap對(duì)象,這個(gè)對(duì)象定義了我們要繪制地圖的區(qū)域和投影方式。接下來,我們使用drawcoastlines、drawcountries和drawstates方法來繪制省界線。
接著,我們讀取了一個(gè)文件,這個(gè)文件包含了山西省的一些城市數(shù)據(jù),我們遍歷這些數(shù)據(jù)并繪制每個(gè)城市的標(biāo)記點(diǎn)。最后,我們使用plt.show()方法來顯示地圖。
如果你仔細(xì)觀察以上代碼,你會(huì)發(fā)現(xiàn)它非常簡(jiǎn)單,甚至連循環(huán)都不需要,因?yàn)槲覀儽闅v了一個(gè)數(shù)據(jù)列表,然后每次處理一個(gè)城市的數(shù)據(jù)。這就是Python的魅力,它可以讓我們用簡(jiǎn)單的代碼完成復(fù)雜的任務(wù)。