使用matplotlib的示例:调整字体-设置刻度、坐标、colormap和colorbar等




版权声明:本文为博主原创文章,未经博主允许不得转载。
使用matplotlib的示例:调整字体-设置刻度、坐标、colormap和colorbar等
- # -*- coding: utf-8 -*-
- #**********************************************************
- import os
- import numpy as np
- import wlab #pip install wlab
- import matplotlib
- import matplotlib.cm as cm
- import matplotlib.pyplot as plt
- from matplotlib.ticker import MultipleLocator
- from scipy.interpolate import griddata
- matplotlib.rcParams['xtick.direction'] = 'out'
- matplotlib.rcParams['ytick.direction'] = 'out'
- #**********************************************************
- FreqPLUS=['F06925','F10650','F23800','F18700','F36500','F89000']
- #
- FindPath='/d3/MWRT/R20130805/'
- #**********************************************************
- fig = plt.figure(figsize=(8,6), dpi=72, facecolor="white")
- axes = plt.subplot(111)
- axes.cla()#清空坐标轴内的所有内容
- #指定图形的字体
- font = {'family' : 'serif',
- 'color' : 'darkred',
- 'weight' : 'normal',
- 'size' : 16,
- }
- #**********************************************************
- # 查找目录总文件名中保护F06925,EMS和txt字符的文件
- for fp in FreqPLUS:
- FlagStr=[fp,'EMS','txt']
- FileList=wlab.GetFileList(FindPath,FlagStr)
- #
- LST=[]#地表温度
- EMS=[]#地表发射率
- TBH=[]#水平极化亮温
- TBV=[]#垂直极化亮温
- #
- findex=0
- for fn in FileList:
- findex=findex+1
- if (os.path.isfile(fn)):
- print(str(findex)+'-->'+fn)
- #fn='/d3/MWRT/R20130805/F06925_EMS60.txt'
- data=wlab.dlmread(fn)
- EMS=EMS+list(data[:,1])#地表发射率
- LST=LST+list(data[:,2])#温度
- TBH=TBH+list(data[:,8])#水平亮温
- TBV=TBV+list(data[:,9])#垂直亮温
- #-----------------------------------------------------------
- #生成格点数据,利用griddata插值
- grid_x, grid_y = np.mgrid[275:315:1, 0.60:0.95:0.01]
- grid_z = griddata((LST,EMS), TBH, (grid_x, grid_y), method='cubic')
- #将横纵坐标都映射到(0,1)的范围内
- extent=(0,1,0,1)
- #指定colormap
- cmap = matplotlib.cm.jet
- #设定每个图的colormap和colorbar所表示范围是一样的,即归一化
- norm = matplotlib.colors.Normalize(vmin=160, vmax=300)
- #显示图形,此处没有使用contourf #>>>ctf=plt.contourf(grid_x,grid_y,grid_z)
- gci=plt.imshow(grid_z.T, extent=extent, origin='lower',cmap=cmap, norm=norm)
- #配置一下坐标刻度等
- ax=plt.gca()
- ax.set_xticks(np.linspace(0,1,9))
- ax.set_xticklabels( ('275', '280', '285', '290', '295', '300', '305', '310', '315'))
- ax.set_yticks(np.linspace(0,1,8))
- ax.set_yticklabels( ('0.60', '0.65', '0.70', '0.75', '0.80','0.85','0.90','0.95'))
- #显示colorbar
- cbar = plt.colorbar(gci)
- cbar.set_label('$T_B(K)$',fontdict=font)
- cbar.set_ticks(np.linspace(160,300,8))
- cbar.set_ticklabels( ('160', '180', '200', '220', '240', '260', '280', '300'))
- #设置label
- ax.set_ylabel('Land Surface Emissivity',fontdict=font)
- ax.set_xlabel('Land Surface Temperature(K)',fontdict=font) #陆地地表温度LST
- #设置title
- titleStr='$T_B$ for Freq = '+str(float(fp[1:-1])*0.01)+'GHz'
- plt.title(titleStr)
- figname=fp+'.png'
- plt.savefig(figname)
- plt.clf()#清除图形
- #plt.show()
- print('ALL -> Finished OK')
上面的例子中,每个保存的图,都是用同样的colormap,并且每个图的颜色映射值都是一样的,也就是说第一个图中如果200表示蓝色,那么其他图中的200也表示蓝色。
示例的图形如下:
- 顶
- 2
- 踩
- 2
使用matplotlib的示例:调整字体-设置刻度、坐标、colormap和colorbar等的更多相关文章
- 使用matplotlib的示例:调整字体-设置colormap和colorbar
使用matplotlib的示例:调整字体-设置colormap和colorbar # -*- coding: utf-8 -*- #********************************** ...
- 05. Matplotlib 1 |图表基本元素| 样式参数| 刻度 注释| 子图
1.Matplotlib简介及图表窗口 Matplotlib → 一个python版的matlab绘图接口,以2D为主,支持python.numpy.pandas基本数据结构,运营高效且有较丰富的图表 ...
- Matplotlib 图表的基本参数设置
1.图名,图例,轴标签,轴边界,轴刻度,轴刻度标签 # 图名,图例,轴标签,轴边界,轴刻度,轴刻度标签等 df = pd.DataFrame(np.random.rand(10,2),columns= ...
- (数据科学学习手札100)搞定matplotlib中的字体设置
本文示例文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 matplotlib作为数据可视化的利器,被广泛 ...
- IDEA或Webstorm设置Ctrl+滚轮调整字体大小
按Ctrl+Shift+A,出现搜索框 输入mouse: 点击打开这个设置:勾选 点击ok,之后就可以通过Ctrl+滚轮 调整字体大小了.
- 用matplotlib绘制带误差的条形图及中英文字体设置
#!/usr/bin/env python3 ## 以下是一个带误差条的条形图的例子,演示了误差条形图的绘制及中英文字体设置 import numpy as np import matplotlib ...
- IDEA设置Ctrl+滚轮调整字体大小
IDEA设置Ctrl+滚轮调整字体大小(转载) 按Ctrl+Shift+A,出现搜索框 输入mouse: 点击打开这个设置:勾选 点击ok,之后就可以通过Ctrl+滚轮 调整字体大小了.
- IDEA设置Ctrl+滚轮调整字体大小(转载)
按Ctrl+Shift+A,出现搜索框 输入mouse: 点击打开这个设置:勾选 点击ok,之后就可以通过Ctrl+滚轮 调整字体大小了. 转载自:http://www.cnblogs.com/LUA ...
- Css调整字体间距
在span div 某些元素中有时候会用到调整字体的间距,设置方法: letter-spacing:15px;
随机推荐
- org.hibernate.TypeMismatchException: Provided id of the wrong type for class cn.itcast.entity.User. Expected: class java.lang.String, got class java.lang.Integer at org.hibernate.event.internal.Defau
出现org.hibernate.TypeMismatchException: Provided id of the wrong type for class cn.itcast.entity.User ...
- cpu和gpu的区别和联系是什么
cpu和gpu的区别和联系是什么 一.总结 一句话总结:CPU:复杂任务,核少,做串行,计算能力只是CPU很小的一部分,处理复杂逻辑: GPU:简单任务,核多,做并行(大吞吐量),做显卡的图象单元计算 ...
- Memcache面试题
* memcached是怎么工作的? * memcached最大的优势是什么? * memcached和MySQL的query cache相比,有什么优缺点? * memcached和服务器的loca ...
- U14739 X ask Y III 子区间异或和
题意:就是求所有子区间的异或和的和 题解:就是算每一位对结果的贡献(最近好像遇到很多次这种题目),先前缀异或,从左向右扫记录二进制前缀的1,0个数,xor[i]==xor[j]^1的时候就加上这一位的 ...
- vue cli关闭eslint严格语法检查
eslint是一个JavaScript的校验插件,通常用来校验语法或代码的书写风格. 官方文档:https://eslint.org 这篇文章总结了eslint的规则:Eslint规则说明 1.关闭e ...
- Nhibernate系列学习之(四) 数据操作
数据操作,在这里主要介绍INSERT.UPDATE.DELETE.我们在使用NHibernate的时候,如果只是查询数据,不需要改变数据库的值,那么是不需要提交或者回滚到数据库的. 一.INSERT ...
- 一些神奇的(优化)板子——来自Loi_black的博客
deque<int>q; void spfa(int s) { ;i<=n;i++) d[i]=1e9; d[s]=; q.push_back(s); used[s]=; while ...
- git教程3-添加远程库与从远程库拷贝
一.添加到github 1.github上创建新的库learngit.git 2.git remote add origin git@github.com:moisiet/learngit.git ...
- mvc那些事
mvc的特点: 1.无控件,有HtmlHelper类,此类提供了各种生成html控件的方法.如果不能满足需要,就自定义扩展吧,比如说分页显示.HtmlHelper类提供了Partial(加载局部视图) ...
- C的随想
c用的是操作系统函数,这个一下子就限制了APi的数量,通过组合这些系统api即可实现功能. c开发的人一般都会熟记系统函数,然后需要确定函数参数的时候,通过man指令进行查看 对于32位64位将会导致 ...