翻译总结自:matplotlib.pyplot — Matplotlib 3.4.3 documentation

函数

说明

acorr x的自相关性图
angle_spectrum 角度谱
annotate 在指定位置处添加文本标注
arrow 画一个箭头
autoscale 坐标轴范围调整(自适应)
axes 加一个子图(跟subplot差不多)
axhline 在指定位置增加一个水平线
axhspan 在指定位置增加一个水平矩形区域
axis 返回关于坐标轴的一些信息(xmin,xmax,ymin,ymax)
axline 加一条无限长的直线
axvline 在指定位置增加一个垂线
axvspan 在指定位置增加一个垂直矩形区域
bar 柱状图
barbs barbs图(各种倒勾符号)
barh 水平柱状图
boxplot 箱型图
broken_barh 断续绘制水平矩形框
cla 清空当前坐标轴
clabel 等高线图每条线上的标签
clf 清空整个图形
clim 设置颜色限制
close 关闭当前绘图窗口
cohere 绘制x、y的相关性图
colorbar 添加颜色表
contour、contourf 等高线图
csd 互谱密度图
delaxes 从当前图像中删除一个轴
draw 重新绘制当前图像
errorbar 误差棒图,绘制y轴方向或者是x轴方向的误差范围
eventplot 绘制一系列的平行线
figimage 为画布添加图片(添加图片背景)
figlegend 生成图例
figtext 向图中加一个文本文字
figure 额外生成一个画布
fill 以填充的形式绘制多边形
fill_between 填充两个水平曲线间的区域
fill_betweenx 填充两个垂直曲线间的区域
gca 获取当前的轴
grid 设置网格线
hexbin 绘制二维hexagonal bin
hist 直方图
hist2d 二维直方图
hlines 在每个y处都绘制一个从xmin到xmax的水平线
imread 读取一个图像文件并保存为array
imsave 保存一个array为图像文件
imshow 将数据展示为图像
legend 显示图例
loglog 双对数坐标下绘图
magnitude-spectrum 幅度谱
margins 边界线
matshow 把一个数组或者矩阵绘制成图像
minorticks_off 移除坐标轴上显示的最小值
minorticks_on 显示坐标轴上的最小值
pause 暂停若干秒后继续运行
pcolor 二维网格图,每个矩形都填充有颜色
pcolormesh 同pcolor,但官方推荐用
phase_spectrum  相谱图
pie 饼状图 
plot 折线图
plot_date 绘制带日期的数据
polar  极坐标
psd 功率谱密度图 
quiver 风速箭头图(风羽图)
quiverkey 给quiver图加Key
rc 通过rc配置修改图形的各种默认属性,包括窗体大小、每英寸的点数、线条宽度、颜色、样式……
rc_context 返回暂时修改的rc设置的文本 
rcdefaults 重设rc设置为默认的设置 
rgrids  极坐标坐标系下网格的设置
savefig  保存当前图像 
sca  选择某个子图
scatter 散点图 
sci  设置当前图像 
semilogx 用对数坐标绘制x轴,绘图 
semilogy 用对数坐标绘制y轴,绘图 
set_cmap 设置并应用默认色表 
setp 设置绘图对象的各种属性 
show  显示所有打开的图像 
specgram  语谱图
spy 稀疏度
stackplot 堆叠/堆栈 图
stem 茎叶图
step 阶梯图(区别于折线图)
streamplot 流线图
subplot 在指定位置创造一小块画布
subplot2grid 在指定位置创造一小块画布,画布的边界线标记在坐标轴上
subplpot_toll 创建一个与分块相关的工具窗口
subplots 创造一个画布具有一系列的分布
subplots_adjust 子画布布局参数调整
suptitle 设置总标题
switch_backend 关闭所有开着的画布,并设置Matplotlib的后端
table 往图中加表
tricontour、tricontourf 三角网等高线图
tripcolor 假彩色三角网等高线图
triplot 绘制三角网
twinx 两幅图用同一个x轴绘制
twiny  两幅图用同一个y轴绘制 
violinplot 小提琴图
vlines 在每个指定的x处绘制垂线
xcorr  x-y的互相关性图
xlabel、ylabel x、y轴的名字
xlim、ylim x、y轴的范围
xscale、yscale x、y轴值的基(对数、布尔……)
xtick、ytick x、y轴坐标刻度的相关信息
fig = plt.figure()  # an empty figure with no Axes
fig, ax = plt.subplots() # a figure with a single Axes
fig, axs = plt.subplots(2, 2) # a figure with a 2x2 grid of Axes

创建画布的方式,plt.figure()、plt.subplots( m , n )

区别在于前者只是单纯创造一个画布,没有子画布;后者则是在一个画布上分区,分区后就形成了子画布。

就像上文所写:

fig, axs = plt.subplots(2, 2)  # a figure with a 2x2 grid of Axes

这里的fig是总画布,axs是子画布构成的ndarray,通过axs[i][j]就可以访问到具体的画布,再通过axs[i][j].func()就能实现在这些子画布上操作的目的。(这里的func就是本章所写的那些函数,比如,axs[1][1].axhline(...)就可以在第(1,1)幅图上绘制水平线)。

1)savefig:保存当前fig和上面的图形

用法

plt.savefig(
fname, dpi=None, facecolor='w', edgecolor='w',
orientation='portrait', papertype=None, format=None,
transparent=False, bbox_inches=None, pad_inches=0.1,
frameon=None, metadata=None
)

参数

参数

类型

默认值

说明

fname str   输出文件名
dpi float或'figure' 'figure' 分辨率
facecolor color或'auto' 'auto' 主色
edgecolor color或'auto' 'auto' 边缘色
orientation 'landscape'、'portrait' 'portrait'  
papertype str None  
format str None 文件格式,如果fname指定了后缀则该项不起作用
transparent bool False  
bbox_inches str或Bbox None 给出一个区域,只保存指定区域中的图形
pad_inches float 0.1  
frameon      

2)axhline、axvline:绘制水平线和垂线

用法

plt.axhline(y=0,xmin=0,xmax=1,**kwargs)
plt.axvline(x=0,ymin=0,ymax=1,**kwargs)

参数

第一个参数是指绘制线的位置

第二三个参数是指绘制线的范围(需要注意的是这里的0和1并不是数值0和1,而是比例0和1,即0——底部,1——顶部)

**kwargs:与线的样式相关的一系列参数

说明

如果第一个参数是整数,那么它指代的是索引而非实际值。

比如:

plt.axvline(x=4)

就是在第5个x值(索引为4)处绘制垂线。

3)contour、contourf

contour:等高线

contourf:填充等高线(在等高线间填充不同颜色)

用法

plt.contourf( [X,Y,] Z, [levels], **kwargs )
plt.contour( [X,Y,] Z, [levels], **kwargs )

这两个方法的参数相同

参数

参数

类型

默认值

说明

X,Y array(升序排列)  

Z值的横纵坐标。

X、Y的尺寸(两种):①和Z轴尺寸相同的2维数组(1维数组可以通过numpy.meshgrid构造成2维);②1维数组,但是len(X)和Z轴的列数相同,len(Y)和Z轴的行数相等。

如果没有给出这个参数,会默认设置X、Y为从0~M-1和0~N-1的索引值,即X=range(M)、Y=range(N)

Z 大小为(M,N)的array   绘制等高线时的高度值
levels int或array  

决定了(等高线/区域)的数量和位置。

如果是int n,将会自动在vmin和vmax之间生成不超过n+1条'nice'等级的等高线;

如果是array,将会在特定的等级处绘制等高线。array中的值必须是递增的。

corner_mask bool True

是否启用角落蒙版(只有当Z轴是masked array时才起作用)。

colors

color string或

color序列(List、array...)

 

各个Level的颜色(如果是contour就是等高线的颜色,如果是contourf就是区域颜色)。

如果颜色数少于Level数,会循环使用其中的颜色。

如果Color List中只有一个颜色,那么可以用Color String来代替(比如用'red'而不是['red']),这样所有Level都会用这个颜色绘制。

默认情况下(colors=None),将用参数cmap指定的色表

alpha float 1 透明度(0:透明,1:不透明)
cmap str或Colormap

rcParams["image.cmap"]

'viridis'

一个Colormap实例或者注册过的色表名。色表中有level和color间的映射。

如果colors和cmap都给出了,将会报错。

norm Normalize  

如果使用了色表,这个Normalize实例将把Level值缩放到用于映射颜色的规范色表范围[0,1]。

如果没有设置这个参数,将会使用默认线性数值。

vmin,vmax float   如果非None,那么这两个值的其中一个或者全部会被提供给到Normalize实例,用于覆盖参数levels指明的默认颜色值
origin {None, 'upper', 'lower', 'image'} None

用于指明Z[0,0]的位置,这个参数只有在X、Y没有给出时才有用:

  • None:Z[0,0]在X=0、Y=0处(左下角)
  • lower:Z[0,0]在X=0.5、Y=0.5处(左下角)
  • upper:Z[0,0]在X=N+0.5、Y=0.5处(左上角)
  • image:使用rcParams["image.origin"]的值,默认'upper'
extent (x0,x1,y0,y1)   如果origin非None,那么extent将应用于imshow中:它给出了外部边界。
locator ticker.Locator subclass MaxNLocator 如果没有直接给出levels,俺么该参数将用于确定levels
extend {'neither', 'both', 'min', 'max'} 'neither'

用于确定超过了levels范围的颜色。

  • neither:超过levels范围的颜色将不被染色;
  • min、max、both:低于、高于、低于或高于levels范围的区域将被绘制。

低于min(levels)和高于max(levels)的值将会映射到Colormap中的低/高值。不过大多数Colormap没有专门的这种低/高值,所以会被映射到Colormap中的边缘值。我们也可以用Colormap.set_underColormap.set_over来直接设置这些值。

xunits,yunits registered units   用一个matplotlib.units.ConversionInterface实例指定x、y轴单元
antialiased bool True 抗锯齿
nchunk int且>=0   区域细分
linewidths float或array 1.5 只应用于contour,线的宽度
linestyles {None, 'solid', 'dashed', 'dashdot', 'dotted'}   只应用于contour,线的样式
hatches list[str]   只应用于contourf

注意

X、Y必须按照升序排列,否则可能会导致绘图异常,这要求我们在用meshgrid构造网格时,传入的x、y必须是升序排列的。

如果要为等值线添加上数字数值,可以用clabel函数(见4),如果想显示出各颜色代表的数值,可以用colorbar函数(见5)

4)clabel

说明

给等值线或者等值线填充区域添加数值

用法

matplotlib.pyplot.clabel(CS, levels=None, *, fontsize=None, inline=True, inline_spacing=5, 
              fmt=None, colors=None, use_clabeltext=False, manual=False,
              rightside_up=True, zorder=None)

参数

参数

类型

默认值

说明

cs contour或contourf  

用于添加数字的contour或contourf,用法:

contour = plt.contour(...)
plt.clabel(contour,...)

contourf = plt.contourf(...)
contourf.clabel(...)
levels array None 

用于添加数值的一系列等值线或区域。

如果该项没给出,那么在构建等值线时的所有level都会被标注

fontsize str、float  10.0 或rcParams["font.size"] 字体大小
inline bool True  把字放到等高线时,字上的等高线是否消除
inline_spacing float 5 字离另外的等高线的间距
fmt      
colors color或colors或None None Label的颜色
use_clabeltext bool False 是否使用ClabelText(默认是Text)实例用于构造label
manual bool True 是否允许用鼠标拖动等值线数值
rightside_up bool True 是否旋转
zorder float或None (2 + contour.get_zorder())  

5)colorbar

说明

给一幅plot加上颜色柱

用法

matplotlib.pyplot.colorbar(mappable=None, cax=None, ax=None, 
                user_gridspec=False)

参数

参数

类型

默认值

说明

mappable

matplotlib.cm.ScalarMappable

(常用的有AxesImage和ContourSet)

 

往哪副图上添加colorbar。

该参数是Figure.colorbar的替代品,不过Figure.colorbar在使用时不用指定给哪副图添加颜色柱,默认是给当前图。

cax Axes  

这三个参数的用法我还没有搞懂,应该是与需要绘制colorbar的子图有关。

一般情况下只用第一个参数即可。

ax Axes  
use_gridspec bool  

Python:matplotlib.pyplot的更多相关文章

  1. Python:matplotlib.cm 色表

    官网:Choosing Colormaps in Matplotlib - Matplotlib 3.5.0 documentation Colormap与matplotlib.cm 我们以等高区域函 ...

  2. Python:Matplotlib 画曲线和柱状图(Code)

    原文链接:http://blog.csdn.net/ikerpeng/article/details/20523679 参考资料:http://matplotlib.org/gallery.html ...

  3. Python基础-画图:matplotlib.pyplot.scatter

    转载自博客:https://blog.csdn.net/qiu931110/article/details/68130199 matplotlib.pyplot.scatter 1.scatter函数 ...

  4. scikit-learn:matplotlib.pyplot经常使用绘图功能总结(1)

    參考:http://matplotlib.org/api/pyplot_api.html 绘图功能总结(2):http://blog.csdn.net/mmc2015/article/details/ ...

  5. Python:matplotlib绘制线条图

    线型图是学习matplotlib绘图的最基础案例.我们来看看具体过程:  下面我们将两条曲线绘制到一个图形里:   可以看到这种方式下,两个线条共用一个坐标轴,并且自动区分颜色. plot方法的核心是 ...

  6. python 使用 matplotlib.pyplot来画柱状图和饼图

    导入包 import matplotlib.pyplot as plt 柱状图 最简柱状图 # 显示高度 def autolabel(rects): for rect in rects: height ...

  7. Python:matplotlib绘制直方图

    使用hist方法来绘制直方图:     绘制直方图,最主要的是一个数据集data和需要划分的区间数量bins,另外你也可以设置一些颜色.类型参数: plt.hist(np.random.randn(1 ...

  8. Python中matplotlib.pyplot.imshow画灰度图的多种方法

    转载:https://www.jianshu.com/p/8f96318a153f matplotlib库的教程和使用方法此处就不累赘了,网上有十分多优秀的教程资源.此处直接上代码: def demo ...

  9. python的matplotlib.pyplot绘制甘特图

    博主本来就想简单地找一下代码,画一幅甘特图,结果百度之后发现甘特图的代码基本都不是用matplotlib库,但是像柱状图等统计图通常都是用这个库进行绘制的,所以博主就花了一些时间,自己敲了一份代码,简 ...

随机推荐

  1. Java中四种访问权限总结

    一.Java中有四种访问权限, 其中三种有访问权限修饰符,分别为private.public.protected,还有一种不带任何修饰符(default). 1. private: Java语言中对访 ...

  2. windows批处理详解

    转:https://mp.weixin.qq.com/s/Ktbl4P16Qye7OxDNEzJI5Q

  3. 常见线程池之 newCacheThreadPool 缓存线程池 简单使用

    package com.aaa.threaddemo; import java.util.concurrent.BlockingQueue; import java.util.concurrent.E ...

  4. 人工智能与智能系统2-> 机器人学2 | 时间与运动

    <Robotics, Vision and Control>学习到第三章,我才发现这本书是有配套视频的,第二章看的好辛苦,很多地方生硬理解了一下,现在打算把视频再好好看一看,作为补充,也会 ...

  5. 分布式缓存系统——memcache

    一.简介 memcache是一个自由开源的.高性能的.分布式内存对象缓存系统.它是一种基于内存的key-value存储,用来存储小块的任意数据(字符串.对象).这些数据可以是数据库调用.API调用等. ...

  6. shell 的here document 用法 (cat << EOF) (转)

    什么是Here Document Here Document 是在Linux Shell 中的一种特殊的重定向方式,它的基本的形式如下 cmd << delimiter Here Docu ...

  7. Android文件的权限概念

    //通过context对象获取一个私有目录的文件读取流  /data/data/packagename/files/userinfoi.txt   FileInputStream fileInputS ...

  8. Linux发行版·常见Linux系统下载

    本专题页汇总最受欢迎的Linux发行版基本介绍和下载地址,如果您是一位刚接触Linux的新手,这里的介绍可能对您有所帮助,如果您是以为Linux使用前辈,也可以在评论处留下您宝贵意见和经验,以便让更多 ...

  9. 文件I/O流、文件、FileInputStreaam、FileOutputStream、FileReader、FileWriter的介绍和使用

    一.文件:保存数据的地方 1.文件流:文件在程序中是以流的形式类操作的 类比: 流:数据在数据源(文件)和程序(内存)之间经历的路径 输入流:数据从数据源(文件)到程序(内存)的路径 输出流:数据从程 ...

  10. docker | jenkins 实现自动化CI/CD,后端躺着把运维的钱挣了!(下)

    前言 在上一篇文章中,我们使用docker编写Dockerfile文件,将我们自己的项目构建成镜像,然后发布到Docker Hub中,并且用自己的云服务器拉取Docker Hub上我们自己上传的项目镜 ...