Python:matplotlib.pyplot
翻译总结自: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 |
'viridis' |
一个 如果colors和cmap都给出了,将会报错。 |
norm | Normalize |
如果使用了色表,这个 如果没有设置这个参数,将会使用默认线性数值。 |
|
vmin,vmax | float | 如果非None,那么这两个值的其中一个或者全部会被提供给到Normalize 实例,用于覆盖参数levels指明的默认颜色值 |
|
origin | {None, 'upper', 'lower', 'image'} | None |
用于指明Z[0,0]的位置,这个参数只有在X、Y没有给出时才有用:
|
extent | (x0,x1,y0,y1) | 如果origin非None,那么extent将应用于imshow中:它给出了外部边界。 | |
locator | ticker.Locator subclass | MaxNLocator |
如果没有直接给出levels,俺么该参数将用于确定levels |
extend | {'neither', 'both', 'min', 'max'} | 'neither' |
用于确定超过了levels范围的颜色。
低于min(levels)和高于max(levels)的值将会映射到 |
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(...) |
|
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 |
(常用的有AxesImage和ContourSet) |
往哪副图上添加colorbar。 该参数是 |
|
cax | Axes |
这三个参数的用法我还没有搞懂,应该是与需要绘制colorbar的子图有关。 一般情况下只用第一个参数即可。 |
|
ax | Axes | ||
use_gridspec | bool |
Python:matplotlib.pyplot的更多相关文章
- Python:matplotlib.cm 色表
官网:Choosing Colormaps in Matplotlib - Matplotlib 3.5.0 documentation Colormap与matplotlib.cm 我们以等高区域函 ...
- Python:Matplotlib 画曲线和柱状图(Code)
原文链接:http://blog.csdn.net/ikerpeng/article/details/20523679 参考资料:http://matplotlib.org/gallery.html ...
- Python基础-画图:matplotlib.pyplot.scatter
转载自博客:https://blog.csdn.net/qiu931110/article/details/68130199 matplotlib.pyplot.scatter 1.scatter函数 ...
- scikit-learn:matplotlib.pyplot经常使用绘图功能总结(1)
參考:http://matplotlib.org/api/pyplot_api.html 绘图功能总结(2):http://blog.csdn.net/mmc2015/article/details/ ...
- Python:matplotlib绘制线条图
线型图是学习matplotlib绘图的最基础案例.我们来看看具体过程: 下面我们将两条曲线绘制到一个图形里: 可以看到这种方式下,两个线条共用一个坐标轴,并且自动区分颜色. plot方法的核心是 ...
- python 使用 matplotlib.pyplot来画柱状图和饼图
导入包 import matplotlib.pyplot as plt 柱状图 最简柱状图 # 显示高度 def autolabel(rects): for rect in rects: height ...
- Python:matplotlib绘制直方图
使用hist方法来绘制直方图: 绘制直方图,最主要的是一个数据集data和需要划分的区间数量bins,另外你也可以设置一些颜色.类型参数: plt.hist(np.random.randn(1 ...
- Python中matplotlib.pyplot.imshow画灰度图的多种方法
转载:https://www.jianshu.com/p/8f96318a153f matplotlib库的教程和使用方法此处就不累赘了,网上有十分多优秀的教程资源.此处直接上代码: def demo ...
- python的matplotlib.pyplot绘制甘特图
博主本来就想简单地找一下代码,画一幅甘特图,结果百度之后发现甘特图的代码基本都不是用matplotlib库,但是像柱状图等统计图通常都是用这个库进行绘制的,所以博主就花了一些时间,自己敲了一份代码,简 ...
随机推荐
- Java中四种访问权限总结
一.Java中有四种访问权限, 其中三种有访问权限修饰符,分别为private.public.protected,还有一种不带任何修饰符(default). 1. private: Java语言中对访 ...
- windows批处理详解
转:https://mp.weixin.qq.com/s/Ktbl4P16Qye7OxDNEzJI5Q
- 常见线程池之 newCacheThreadPool 缓存线程池 简单使用
package com.aaa.threaddemo; import java.util.concurrent.BlockingQueue; import java.util.concurrent.E ...
- 人工智能与智能系统2-> 机器人学2 | 时间与运动
<Robotics, Vision and Control>学习到第三章,我才发现这本书是有配套视频的,第二章看的好辛苦,很多地方生硬理解了一下,现在打算把视频再好好看一看,作为补充,也会 ...
- 分布式缓存系统——memcache
一.简介 memcache是一个自由开源的.高性能的.分布式内存对象缓存系统.它是一种基于内存的key-value存储,用来存储小块的任意数据(字符串.对象).这些数据可以是数据库调用.API调用等. ...
- shell 的here document 用法 (cat << EOF) (转)
什么是Here Document Here Document 是在Linux Shell 中的一种特殊的重定向方式,它的基本的形式如下 cmd << delimiter Here Docu ...
- Android文件的权限概念
//通过context对象获取一个私有目录的文件读取流 /data/data/packagename/files/userinfoi.txt FileInputStream fileInputS ...
- Linux发行版·常见Linux系统下载
本专题页汇总最受欢迎的Linux发行版基本介绍和下载地址,如果您是一位刚接触Linux的新手,这里的介绍可能对您有所帮助,如果您是以为Linux使用前辈,也可以在评论处留下您宝贵意见和经验,以便让更多 ...
- 文件I/O流、文件、FileInputStreaam、FileOutputStream、FileReader、FileWriter的介绍和使用
一.文件:保存数据的地方 1.文件流:文件在程序中是以流的形式类操作的 类比: 流:数据在数据源(文件)和程序(内存)之间经历的路径 输入流:数据从数据源(文件)到程序(内存)的路径 输出流:数据从程 ...
- docker | jenkins 实现自动化CI/CD,后端躺着把运维的钱挣了!(下)
前言 在上一篇文章中,我们使用docker编写Dockerfile文件,将我们自己的项目构建成镜像,然后发布到Docker Hub中,并且用自己的云服务器拉取Docker Hub上我们自己上传的项目镜 ...