本文为原创文章

本文链接:https://www.cnblogs.com/zhanling/p/12606990.html

 # -*- coding: utf-8 -*-

 '''
Author: HermionX source:https://github.com/HermioneX
''' import numpy as np
import xarray as xr
import os
import datetime
from mpl_toolkits.basemap import Basemap
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
import matplotlib.patches as mpatches
import matplotlib.colors as colors
plt.rcParams['font.sans-serif']=['simhei']
plt.rcParams['axes.unicode_minus'] = False
defaultencoding = 'utf-8' def plot1pic(src_fn,out_fn,start_str,cnt_str):
print(src_fn)
ds = xr.open_dataset(src_fn)
t = ds['value']*100
t.data[t.data<20] = 0
lons = ds.lon.data
lats = ds.lat.data
temp = xr.DataArray(t.data.T, coords=[lats,lons], dims=['latitude','longitude']) fig, ax = plt.subplots(figsize = (18,16)) m = Basemap(projection='cyl',resolution='l',llcrnrlon=lons.min(),llcrnrlat=lats.min(),
urcrnrlon=lons.max(),urcrnrlat=lats.max(),lon_0=120.,lat_0=90)
Lon,Lat = np.meshgrid(lons[:],lats[:])
X,Y = m(Lon,Lat)
shp_info3 = m.readshapefile("./CHN_adm_shp/CHN_adm1",'states',drawbounds=True,linewidth = 0.4,zorder=10) short_state_names = {u"湖北":"Hubei",
u"北京":"Beijing",
u"上海":"Shanghai",
u"天津":"Tianjin",
u"重庆":"Chongqing",
u"香港":"Xianggang",
} printed_names = [] for shapedict, state in zip(m.states_info, m.states):
if shapedict['NAME_1'] not in short_state_names.values(): continue
short_name = short_state_names.keys()[short_state_names.values().index(shapedict['NAME_1'])]
if short_name in printed_names: continue
x, y = np.median(np.array(state),axis=0)
print(x,y)
plt.text(x, y, short_name, ha="center")
printed_names += [short_name] cm = plt.cm.get_cmap('rainbow')
print(np.min(t.data),np.max(t.data))
cs=m.contourf(X,Y,t.data.T,cmap=cm) l = 0.95
b = 0.23
w = 0.02
h = 1 - 2*b plt.title( start_str +' ' +cnt_str,fontdict={'weight':'normal','size': 20},loc ='left')
rect = [l,b,w,h]
cbar_ax = fig.add_axes(rect)
cbar = plt.colorbar(cs,orientation='vertical',cax =cbar_ax)
cbar.ax.tick_params(labelsize = 16)
font = {'family' : 'simhei',
'color' : 'black',
'weight' : 'normal',
'size' : 16,
}
cbar.set_label(u'(%)' ,fontdict=font) #设置colorbar的标签字体及其大小
plt.savefig(out_fn,bbox_inches = 'tight')

最新文章

  1. UIView中的坐标转换
  2. 怎么解决Android studio导入项目卡死
  3. 细微之处:比较两种CSS清除浮动的兼容
  4. C++Primer 第十八章
  5. RequireJS入门(一) 转
  6. hand第四次考核
  7. 畅通工程--hdu1232(并查集)
  8. ignore,neglect,omit,overlook
  9. 关于三星设备 Activity.onDestroy() 被调用。显示“开发者选项”
  10. Canvas绘制五角星
  11. Nginx 对上游使用SSL链接
  12. request接受表单数据中文乱码问题分析
  13. request.servervariables参数
  14. 20165215 2017-2018-2 《Java程序设计》第八周学习总结
  15. Linux系统默默改变了人类世界的生活方式
  16. TensorFlow实现FM
  17. 回去看linux的指令1
  18. microtip Tooltip工具提示样式
  19. [New learn] NSOperation基本使用
  20. SpringBoot 使用(三): 配置文件详解

热门文章

  1. 初步了解HTTP协议
  2. vue项目创建与使用
  3. [ICRA 2019]Multi-Task Template Matching for Object Detection, Segmentation and Pose Estimation Using Depth Images
  4. 洛谷 P3935 Calculating 题解
  5. leetcode 每日签到 409. 最长回文串
  6. 迁移桌面程序到MS Store(15)——通过注册表开启Developer Mode
  7. [ASP.NET Core MVC] 如何实现运行时动态定义Controller类型?
  8. P1250 种树(差分约束 / 贪心)
  9. 使用Pytorch在多GPU下保存和加载训练模型参数遇到的问题
  10. 如何用git将本地项目push到Github