python自定义函数画图_python matplotlib自定义colorbar颜色条-以及matplotlib中的内置色条...

自定义colorbar(draw colorbar without any mapple/plot)

参考:Customized Colorbars Tutorial

api example code: colorbar_only.py

自定义colorbar可以画出任何自己想要的colorbar,自由自在、不受约束,不依赖于任何已有的图(plot/mappable)。这里使用的是mpl.colorbar.ColorbarBase类,而colorbar类必须依赖于已有的图。

关于该类的参数如下 (该类参数描述没找到,部分参数的取值可参考colorbar中的描述):

class matplotlib.colorbar.ColorbarBase(ax, cmap=None, norm=None, alpha=None, values=None, boundaries=None, orientation=‘vertical’, ticklocation=‘auto’, extend=‘neither’, spacing=‘uniform’, ticks=None, format=None, drawedges=False, filled=True, extendfrac=None, extendrect=False, label=’’)[source]

参数简单描述

ax :可用于设置colorbar的位置、长、宽

norm :用于规范化–设置颜色条最大最小值

cmap:颜色(可参考本篇博文的最后部分——推荐色带与自定义色带)

boundaries:要想使用extend,在norm之外,必须要有两个额外的boundaries

orientation:colorbar方向,躺平or垂直

extend:延伸方向(在norm之外colorbar可延伸)

ticks:自定义各段的tick(记号)

下面是一个例子,可以自己试试调整各项参数:

import numpy as np

import pylab as plt

import matplotlib as mpl

if __name__ == '__main__':

fig = plt.figure(figsize=(3, 8))

cmap = mpl.cm.Spectral_r

ax3 = fig.add_axes([0.3, 0.2, 0.2, 0.5]) # 四个参数分别是左、下、宽、长

norm = mpl.colors.Normalize(vmin=1.3, vmax=2.5)

bounds = [ round(elem, 2) for elem in np.linspace(1.3, 2.5, 14)] #

cb3 = mpl.colorbar.ColorbarBase(ax3, cmap=cmap,

norm=norm,

# to use 'extend', you must

# specify two extra boundaries:

boundaries= [1.2] + bounds + [2.6],

extend='both',

ticks=bounds, # optional

spacing='proportional',

orientation='vertical')

plt.show()1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

contourf函数

contour和contourf分别绘制轮廓线和填充轮廓线。两个版本的函数签名和返回值是相同的。关于两者画图的一些实例可以参阅python matplotlib contour画等高线图,以及matplotlib中文文档

contourf([X, Y,] Z, [levels], **kwargs) # [ ]表示该参数是可选的——可以给定也可以不给定1

contourf中的基本参数:

X, Y : array-like, optional

contourf参数中X和Y都必须是二维的,形状与Z相同(例如,通过numpy.meshgrid创建);或者都必须是一维的,这样len(X) == M是Z中的列数,len(Y) == N是Z中的行数。

如果没有给定,则假设它们是整数索引,即X = range(M), Y = range(N)。

Z : array-like(N, M)

绘制轮廓线的高度值。

levels : int or array-like, optional

确定等高线/区域的数量和位置。

如果是int n,则使用n个数据间隔;即画n+1条等高线。水平高度是自动选择的。

如果类似数组,则在指定的级别上绘制等高线。这些值必须是递增的。

为所有子图添加一个色带

import numpy as np

import matplotlib.pyplot as plt

fig, axes = plt.subplots(nrows=2, ncols=2)

for ax in axes.flat:

im = ax.imshow(np.random.random((10,10)), vmin=0, vmax=1)

fig.subplots_adjust(right=0.8)

cbar_ax = fig.add_axes([0.85, 0.15, 0.05, 0.7])

fig.colorbar(im, cax=cbar_ax)

plt.show()1

2

3

4

5

6

7

8

9

10

11

12

推荐色带与自定义色带

在画图的时候,可以用推荐色带。在Contourf 与记录颜色刻度中,发现contourf中有cmap参数,cmap即是色带。cmap的值可以参考Colormap reference。

下面这段代码来自Contourf 与记录颜色刻度

cs = ax.contourf(X, Y, z, locator=ticker.LogLocator(), cmap=cm.PuBu_r) # PuBu_r是PuBu色带的倒转

cbar = fig.colorbar(cs)1

2

其中cmap就是使用matplotlib提供的色带,如果要自己制定色带可以用参数colors如下:

# Colors是一些自选颜色列表

Colors=('#DDDDFF','#7D7DFF','#0000C6','#000079','#CEFFCE','#28FF28','#007500','#FFFF93','#8C8C00','#FFB5B5','#FF0000','#CE0000','#750000')

cs=m.contourf(xi, yi, z, colors=Colors, levels=levels, extend='both') # 这里m是一个basemap实例1

2

3

在cmap中提供了一些默认色带:

20190523113122992.png

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpdWNoZW5nemltb3ppZ3JlYXQ=,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpdWNoZW5nemltb3ppZ3JlYXQ=,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpdWNoZW5nemltb3ppZ3JlYXQ=,size_16,color_FFFFFF,t_70

20190523113144193.png

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpdWNoZW5nemltb3ppZ3JlYXQ=,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpdWNoZW5nemltb3ppZ3JlYXQ=,size_16,color_FFFFFF,t_70

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

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

相关文章

长沙理工大学计算机考研难吗,长沙理工大学考研难吗?一般要什么水平才可以进入?...

首先,申明一点:考研本身就不是一件容易的事情,在考研的过程中,找准自己的定位、学会搜集资料、搜集信息并且辅之于踏实的备考、准确的方法是至关重要的。同时,要学会坚持,不忘初心,很多同学在开…

如何用python创建文件_如何使用Python创建新的文本文件

我正在python中练习.txt文件的管理.我一直在阅读它,发现如果我尝试打开一个不存在的文件,它将在程序执行的同一目录上创建它.问题是,当我尝试打开它时,我收到此错误: IOError: [Errno 2] No such file or directory: ‘C:\Users\myusername\PycharmProjects\Tests\c…

域内计算机如何同步网络t时间,网络节点的同步方法

摘要:包括一个网络中心主节点(11)和多个同步域(20,30)的局域网(10)内的网络节点的同步方法,每个同步子网(20,30)包括一个同步子网主节点(21,31)和至少一个同步从节点(22,23;32,33),所述方法包括以下步骤:为每个同步域(20,30)设立或改变一个多播组,其中,一个多播组包…

python绘制饼图程序_python使用Matplotlib绘制饼图

一、函数原型 plt.pie(x, explodeNone, labelsNone, colorsNone, autopctNone, pctdistance0.6, shadowFalse, labeldistance1.1, startangleNone, radiusNone, counterclockTrue, wedgepropsNone, textpropsNone, center(0, 0), frameFalse) 参数: x:绘…

高龄申请海外计算机科学博士,【原创】牛津在读小博谈谈在海外攻读生命科学专业的一些心得...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼一. 生物化学研究的是什么?生物化学,顾名思义,研究的是在生命体内发生的化学反应。从化学的角度看,在任何生命体内无时不刻地发生着各种化学反应,反应的数量随…

python变量类型有几种_python十种变量类型

变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或…

计算机应用基础重点分析,计算机应用基础整体设计重点分析.doc

《计算机应用基础》课程整体教学设计(2013~2014学年)课程名称: 计算机应用基础所属系部: 基础课部制定人: 宋 征制定时间: 2013年9月湖南有色金属职业技术学院课程整体教学设计一、课程基本信息课程名称:计…

centos选择什么版本_有几千个 Dubbo 实例的瓜子二手车,为什么要选择2.7.3版本?...

随着瓜子业务的不断发展,系统规模在逐渐扩大,目前在瓜子的私有云上已经运行着数百个 Apache Dubbo ( 下文简称 Dubbo )应用,上千个 Dubbo 实例。瓜子各部门业务迅速发展,版本没有来得及统一,各个部门都有自己的用法。随…

北京大学计算机复试分数线,2014北京大学考研复试分数线公布

根据教育部有关制订分数线的要求,我校按照统考生、联考生等不同类型分别确定复试基本分数线。考生能否进入复试以各院系所规定的各项单科成绩和总成绩确定的复试名单为准。我校将按照德、智、体全面衡量,择优录取,保证质量,宁缺毋…

python一个函数调用另一个函数的返回值_在python函数中使用True,False和None作为返回值...

建议不是你不应该使用True,False或None。这只是你不应该使用如果x True。 如果x True是愚蠢的,因为只是一个二进制运算符!它的返回值为True或False,取决于它的参数是否相等。如果条件为真,则条件将继续。所以当你写如…

w7系统计算机里没有摄像头,win7系统没有摄像头不能视频的几种原因和解决方法...

电脑升级到win7旗舰版系统后,发现摄像头没有了,之前xp系统在硬盘符中就可以打开摄像头的,可是win7系统没有摄像头怎么办呢?这样就没办法视频了,针对此问题,小编研究出原来要从程序里面调出摄像头功能&#…

python画相关性可视化图_Python 可视化 | 关联图 - 散点图1

什么是关联图? 关联图是查找两个事物之间关系的图像,他能为我们展示出一个事物随着另一个事物的变化如何变化。 典型的关联图有:折线图、散点图、相关矩阵等 我们什么时候会需要关联图? 1、数据报告 & 学术研究 展示趋势&…

新计算机 安装win2000,图文教程!Windows 2000安装过程全接触

13、填写计算机名:安装程序提供了文字输入确定用户的计算机名和其它的设置。   在此,需要声明的是:安装程序会创建一个称为Administrator(系统管理员)的用户帐户,它拥有完全控制计算机的权限。确定这个帐户时,安装程序要求用户输入“系统管…

python创建多线程_初学者看过来:Python中多线程和多处理的指南

使用Python分析数据,如果使用了正确的数据结构和算法,有时可以大量提高程序的速度。实现此目的的一种方法是使用Muiltithreading(多线程)或Multiprocessing(多重处理)。 使用Python分析数据,如果使用了正确的数据结构和算法,有时可…

css如何实现一个小三角形,用纯css写一个常见的小三角形

js小技巧js判断字符长度 直接使用String对象的属性,空格亦算一个字符 myString "Hello world"; length myString.length js比较字 ...c#接口容易被忽视的问题今天在看"并发集合"的时候,接口IProducerConsumerCollection 有一个方法是TryAdd(),表…

python求50的阶乘_python中求阶乘

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我如何去计算python中的一个整数的阶乘?...写一个猜数字的游戏,预先设定一个数字&am…

项目部署服务器 jstl,Springboot集成jsp及部署服务器实现原理

1.在application配置文件里面加入配置:spring:mvc:view:prefix: /jsp/suffix: .jsp2.手动在src->main->下面创建webapp文件夹3.在Springboot 启动类加入如下代码:Beanpublic InternalResourceViewResolver setupViewResolver() {InternalResourceV…

c primer英文版第5版_2019足坛10大巨星:梅西第2范戴克第3,C罗第5

点击“关注”获得更多更新更有趣的足坛资讯!2019年的足坛英雄辈出、岁月激荡。阿贾克斯的青年军两回合力克尤文闯进欧冠四强,梅西梅开二度难救主,巴萨遗憾止步欧冠半决赛,利物浦横扫欧陆,无奈联赛杯赛统统被国内曼城压…

python三维图能画地图_Python地图绘制实操详解

网上有很多地图绘制的教程,更多趋向于全国地图或者省级地图,但有时我们需要到县级。闲得慌,今天以贵州省毕节市为例,分享一篇Python县级地图的绘制(遥想当时差点把百度翻了个底朝天),希望对需要…

ajax juey,锋利的qjuey-ajax

jquery 中的ajaxload方法主要获取web服务器上静态数据1 load方法载入HTML文档load(url [,data] [,callback])$(function(){$("#send").click(function(){$("#resText").load("test.html")})})View Code2 筛选载入的HTML文档$("#resText&quo…