python画图灰白_python 站点资料插值画图及白化

import cmaps

import maskout

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

from scipy.interpolate import Rbf

from mpl_toolkits.basemap import Basemap

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文

plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

data = pd.read_csv('../rain.dat', header=None,

names=['站名','站号','lon','lat','降水','气温'] )

# 插值

lon = data['lon']

lat = data['lat']

rain_data = data['降水']

olon = np.linspace(78,100,88)

olat = np.linspace(26,38,88)

olon,olat = np.meshgrid(olon,olat)

# 插值处理

func = Rbf(lon, lat, rain_data,function='linear')

rain_data_new = func(olon, olat)

# 画图

fig = plt.figure(figsize=(16,9))

plt.rc('font',size=15,weight='bold')

ax = fig.add_subplot(111)

m = Basemap(projection='cyl',llcrnrlat=26,llcrnrlon=78,urcrnrlat=38,urcrnrlon=100)

m.readshapefile('../tibet_shp/xizang_all','xizang_all.shp', linewidth=1, color='k')

m.readshapefile('../tibet_shp/river_1','river_1.shp',linewidth=1,color ='b')

m.readshapefile('../tibet_shp/river_2','river_2.shp',linewidth=0.8,color ='b')

m.readshapefile('../tibet_shp/river_3','river_3.shp',linewidth=0.6,color ='b')

m.readshapefile('../tibet_shp/xzlake','xzlake.shp',linewidth=1,color ='b')

x,y = m(olon,olat)

xx,yy = m(lon,lat)

levels = np.linspace(0,np.max(rain_data_new),50)

cf = m.contourf(x,y,rain_data_new, levels=levels, cmap=cmaps.CBR_wet)

cbar = m.colorbar(cf,location='right',format='%d',size=0.3,

ticks=np.linspace(0,np.max(rain_data_new),10),label='毫米')

st = m.scatter(xx-0.1,yy,c='k',s=10,marker='o')

for i in range(0,len(xx)):

plt.text(xx[i],yy[i],data['站名'][i],va='center',fontsize=10)

lon_num = np.arange(78,101,2)

lon_label = ['78°','80°','82°','84°','86°','88°','90°','92°','94°','96°','98°','100°E']

lat_num = np.arange(26,39,2)

lat_label = ['26°','28°','30°','32°','34°','36°','38°N']

plt.yticks(lat_num,lat_label)

plt.xticks(lon_num,lon_label)

plt.title('测试图')

# 白化

clip = maskout.shp2clip(cf,ax,m,'shapefile/bou2_4p',[540000])

plt.savefig('test.png', bbox_inches='tight',dpi=300)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/409935.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[html] 在普通网页中如何调用html5+的plus对象?

[html] 在普通网页中如何调用html5的plus对象? document.addEventListener( "plusready", onPlusReady, false ); onPlusReady 函数中就可以引用plus对象个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定…

算法之归并排序

package com.ebiz.sort;import java.util.Arrays;/*** author YHj* create 2019-09-03 22:21* /*** 归并排序(递归)** ①. 将序列每相邻两个数字进行归并操作,形成 floor(n/2)个序列* ②. 执行①直到每组有一个元素 * ③. 各组之间进行比较*…

eureka需要替换吗_nacos无缝替换eureka

首先安装好nacos之后直接引入客户端依赖和配置文件,同时把eureka的内容去掉从nacos官网 https://nacos.io/zh-cn/index.html 下载安装包下载好之后解压,打开配置文件 conf/application.properties 配置一下mysql和地址,其他的的按需配置serve…

程旭元系统漫画第三期:加班 !

对于苦逼的程旭元来说 加班已经变成了生活中不可缺少的部分 他的原则是不能像胖子那样贪吃 不能像销售员那样狡诈 一定要尽忠职守 精忠报国 !老板说什么他就做什么! 对于一个从来只说加班不加工资的boss来说 唯命是从就是存活在公司的最好方式~ 但是有…

python 的库如何开发_一篇文章入门Python生态系统

译者按:原文写于2011年末,虽然文中关于Python 3的一些说法可以说已经不成立了,但是作为一篇面向从其他语言转型到Python的程序员来说,本文对Python的生态系统还是做了较为全面的介绍。文中提到了一些第三方库,但是Pyth…

[html] 你知道什么是html5plus吗?

[html] 你知道什么是html5plus吗? 用js的方式来调用移动app(安卓和ios)的原生能力,例如拍照,摄像个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一…

机器学习线性回归案例讲解_09机器学习实战之简单线性回归

基本概念1. 介绍:回归(regression) Y变量为连续数值型(continuous numerical variable)如:房价,人数,降雨量分类(Classification): Y变量为类别型(categorical variable)如:颜色类别,电脑品牌,有…

silverlight Image Source URI : 一个反斜杠引发的血案

silverlight Image Source URI : 一个反斜杠引发的血案 Silverlight2 现在支持的Image格式有jpg和png&#xff0c;部分png编码也不支持&#xff0c;同时有些png在xaml的design预览中不可见&#xff0c;但运行时可见。请看XAML markup中两行代码的异同&#xff1a; <StackPan…

python编码和解码_Python中的编码与解码(转)

Python中的字符编码与解码困扰了我很久了&#xff0c;一直没有认真整理过&#xff0c;这次下静下心来整理了一下我对方面知识的理解。 文章中对有些知识没有做深入的探讨&#xff0c;一是我自己也没有去深入的了解&#xff0c;例如各种编码方案的实现方式等&#xff1b;二是我觉…

[html] 怎样使用iframe刷新父级页面

[html] 怎样使用iframe刷新父级页面 //在父页面中window.addEventListener("message",function(e){if(e.data.reload){winodw.location.reload()}}, false);//在子页面中window.parent.postMessage({reload:true})个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前…

Nginx编译安装和平滑升级

一、Nginx的编译安装 1、安装依赖包gcc&#xff0c;gcc-c&#xff0c;pcre&#xff0c;openssl-devel 命令&#xff1a;yum -y install gcc gcc-c pcre-devel openssl-devel 2、下载Nginx源码包 Nginx下载地址&#xff1a;http://nginx.org/download/nginx-1.12.2.tar.gz …

python 调用shell 不阻塞_遇到问题---python调用shell脚本时subprocess.check_call不阻塞

遇到的问题使用命令subprocess.check_call(cmd, shellTrue, stdoutsubprocess.PIPE, stderrsubprocess.STDOUT)在ubuntu系统中python中使用subprocess.check_call调用shell命令。发现subprocess.check_call的阻塞无效&#xff0c;导致下面的命令缺失信息。但是同样的代码在cent…

android ListView详解

在android开发中ListView是比较常用的组件&#xff0c;它以列表的形式展示具体内容&#xff0c;并且能够根据数据的长度自适应显示。抽空把对ListView的使用做了整理&#xff0c;并写了个小例子&#xff0c;如下图。 列表的显示需要三个元素&#xff1a;1&#xff0e;ListVeiw …

[html] iframe在更改了src之后,不出现后退或者前进按钮怎么解决?

[html] iframe在更改了src之后&#xff0c;不出现后退或者前进按钮怎么解决&#xff1f; 更改src时可以先删除旧的iframe后&#xff0c;新建一个iframe设置好src添加进去个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。…

python一次性输入3个数_python实现输入数字的连续加减方法

不用库&#xff0c;写了很久&#xff0c;一直出bug&#xff0c;到网上一搜&#xff0c;可以直接输入之后&#xff0c;eval(str)即可得到结果&#xff01; eval程序如下&#xff1a; sinput("请输入要运算的数字") print("The result is{}".format(eval(s))…

gd动态曲线 php_php中用GD绘制折线图

1 ClassChart{2 private $image; //定义图像3 private $title; //定义标题4 private $ydata; //定义Y轴数据5 private $xdata; //定义X轴数据6 private $seriesName; //定义每个系列数据的名称7 private $color; //定义条形图颜色8 private $bgcolor; //定义图片背景颜色9 priv…

Nginx网站用户认证

一、Nginx网站用户认证 用户认证&#xff1a;用户访问网页时需要输入一个用户名和密码才能打开网页。 nginx的默认网页时安装目录下的html/index.html&#xff0c;配置文件在安装目录下的conf目录中的nginx.conf 无用户认证网页 修改配置文件/usr/local/nginx/conf/nginx.conf(…

STL源码剖析学习二:空间配置器(allocator)

STL源码剖析学习二&#xff1a;空间配置器&#xff08;allocator&#xff09; 标准接口&#xff1a;vlaue_typepointerconst_pointerreferenceconst_referencesize_typedifference_typerebindallocator()--default constructorallocator(const allocator<U>&--copy c…

[html] iframe如何自动调整高度?

[html] iframe如何自动调整高度&#xff1f; 未跨域时&#xff0c;在iframe中利用他的父窗口对象将本页面的滚动高度设置给iframe的height 跨域时&#xff0c;在iframe中将自己的的滚动高设置在本页面内的一个隐藏于父页面不跨域的iframe的hash值&#xff0c; 在隐藏的iframe中…

python selenium 处理弹窗_python+selenium 抓取弹出对话框信息

抓取弹出对话框信息&#xff0c;困挠了我很久&#xff0c;我百度了很久&#xff0c;一直没有找到我想要的内容。最近学习到了。 有两种方法&#xff1a; 1、driver.switch_to.alert.text 2、result EC.alert_is_present()(driver).text 这个要导入from selenium.webdriver.sup…