- 积分
- 748
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-12-13
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
想让画出来的图像下面这张图一样有经纬度线哎,但是怎么改都画不出来,需要加什么命令哎,或者能显示多个省的边界也行哎,我加载的是单个福建省的区域边界图,是不是加载的shp文件不对哎
脚本是以下的脚本###用于画站点图
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
import matplotlib
import pandas as pd
import csv
import numpy as np
#解决中文显示问题
plt.rcParams['font.sans-serif']=['SimHei'] #y用司马黑字体显示
plt.rcParams['axes.unicode_minus'] = False #正常显示负号的设置
#读入数据
filepath = "station-fj.csv"
with open(filepath) as f:
reader = csv.reader(f)
header_row = next(reader)
#print(header_row)
lon = []
lat = []
sta_times = []
for line in reader:
lon.append(float(line[0]))
lat.append(float(line[1]))
sta_times.append(float(line[2]))
#print('sta_times = ',sta_times)
#fig=plt.subplots()
volume = [i*20 for i in sta_times[:]]#将点放大,显示出来好看
# 设置基本图片画板
#fig,ax1=plt.subplots() #分离画布对象fig和绘图区对象ax
fig = plt.figure(figsize=(10, 8))
#设置地图显示经纬度范围
mapproj = Basemap(projection='cyl',llcrnrlat=21.0,urcrnrlat=30.0,llcrnrlon=113,urcrnrlon=122)
# 设置投影方式,以及经纬度范围
mapproj.drawcoastlines(linewidth=0.72,color='gray')
mapproj.drawparallels(np.arange(21,30,2),
labels = [1,0,0,0],
linewidth = 0.0,)
mapproj.drawmeridians(np.arange(113,122,2),
labels = [0,0,0,1],
linewidth = 0.0,)
mapproj.readshapefile("./map/区域边界面",'states',drawbounds=True)
plt.scatter(lon,lat,s=volume,c=sta_times,marker='o',cmap='cool',alpha=0.8)
plt.title('站点空间分布')
#存图
plt.savefig('./figure/station-3.0.png')
plt.show()
绘制出来的图
|
-
-
|