在python3.2底图中从形状文件绘制地图时出错

2024-04-23 19:28:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用python3.2的basemap从shape文件绘制地图。你知道吗

但是,底轴的经度值仅部分显示。 此外,缺少所有纬度值。你知道吗

这是我的python代码。你知道吗

import shapefile as sf
import sys
import numpy as np
import matplotlib.pylab as plt
from mpl_toolkits.basemap import Basemap

 map = Basemap(projection='stere', lon_0=-106.4, lat_0= 31.9, lat_ts  = 31.9, \
               llcrnrlat=31.7, urcrnrlat= 31.85, \
               llcrnrlon=-106.5 , urcrnrlon= -106.1, \
               rsphere=6371200., resolution='l', area_thresh=1000)

 plt.figure(num=None, figsize=(10, 8), dpi=80, facecolor='w', edgecolor='k')

parallels = np.arange(31.7, 31.85, 0.25)

map.drawparallels(parallels, labels=[0, 0, 0, 1] , fontsize=10, labelstyle='+/-', dashes=[2, 2])

meridians = np.arange (-106.5, -106.1, 0.25)

map.drawmeridians(meridians, labels=[0, 0, 0, 1], fontsize=10, labelstyle='+/-' , dashes=[2, 2])

无论我如何更改标签,纬度/经度图例值仍然丢失。你知道吗


Tags: importmaplabelsasnppltbasemaplat
1条回答
网友
1楼 · 发布于 2024-04-23 19:28:16

我想这个问题的答案已经无关紧要了,但可能对其他人有用。您需要更改代码中的行

parallels = np.arange(31.7, 31.85, 0.25)
map.drawparallels(parallels, labels=[0, 0, 0, 1],...)

parallels = np.arange(31.7, 31.85, 0.025)
map.drawparallels(parallels, labels=[1, 1, 0, 0],...)

或更短

map.drawparallels(np.arange(31.7, 31.85, 0.025), labels=[1, 1, 0, 0],...)

由于纬度值未包含在31.7-31.85(31.7+0.25=31.95和31.95>;31.85)之间,因此错过了纬度值

相关问题 更多 >