你知道matplotlib的pyplot包有哪些函数?

提示:以下matplotlib.pyplot中的函数来自官方库,下面翻译和示例仅供参考。


关于matplotlib的pyplot包的函数集

matplotlib.pyplot is a state-based interface to matplotlib. It provides a MATLAB-like way of plotting.
matplotlib.pyplot是命令行式函数的集合,每一个函数都对图像作了修改。


一、pyplot函数集

matplotlib.pyplot是命令行式函数的集合,每一个函数都对图像作了修改【比如创建图形在图像上创建画图区域在画图区域上画线在线上标注等】

# function
get_plot_commands()  # 获取所有绘图命令的排序列表。

1、pyplot—创建画布、设定绘图区域、颜色系

1)创建
Figure([num,figsize,dpi,facecolor,...])  # 创建一个新图形,或激活一个现有图形。
fignum_exists(num)  # 返回具有给定id的图形是否存在。
figlegend(* args,** kwargs)  # 在图上放置一个图例。
figimage(X [,xo,yo,alpha,norm,cmap,...])  #  向图中添加未重采样的图像。

savefig(* args,** kwargs)  #  保存当前图形。
close([fig])  # 关闭图形窗口。
2)画图区域
new_figure_manager(num,* args,** kwargs)  # 创建一个新的图形管理器实例。
matshow(A [,fignum])  # 在新图形窗口中将数组显示为矩阵。
margins(* margins [,x,y,ight])  # 设置或获取自动缩放的边界。

subplot(* args,** kwargs)  # 在当前图形上添加一个子图。

subplot2grid(shape,loc [,rowspan,colspan,图])  # 在常规网格内的特定位置创建一个子图。
subplot_mosaic(layout,* [,subplot_kw,...])  #  基于ASCII艺术作品或嵌套列表构建轴的布局。
subplot_tool([targetfig])  # 启动图形的子图工具窗口。
subplots([nrows,ncols,sharex,sharey,...])  #  创建一个图形和一组子图。
subplots_adjust([[left,bottom,right,top,...])  # 调整子图布局参数。

suptitle(t,** kwargs)  #  在图中添加居中标题。
switch_backend(newbackend)  # 关闭所有打开的图形并设置Matplotlib后端。
3) 颜色系
set_cmap(cmap)  # 设置默认的颜色图,并将其应用于当前图像(如果有)。
clim([vmin,vmax])  # 设置当前图像的颜色限制。
autumn()  # 将颜色表设置为“autumn”。
bone()  # 将颜色图设置为“bone”。
copper()  # 将颜色图设置为“copper”。
cool()  # 将颜色表设置为“ cool”。
flag()  #将颜色图设置为“flag”。
gray()  # 将颜色图设置为“灰色”。
hot()  # 将颜色表设置为“热”。
hsv()  # 将颜色表设置为“ hsv”。
inferno()  # 将颜色映射设置为“ inferno”。
jet()  # 将颜色表设置为“ jet”。
magma()  # 将颜色表设置为“ magma”。
nipy_spectral()  # 将颜色映射设置为“ nipy_spectral”。
pink()  # 将颜色图设置为“粉红色”。
plasma()  # 将颜色图设置为“ plasma”。
prism()	 #  Set the colormap to "prism".设置颜色图为“棱镜”。
summer()  # 将颜色表设置为“暖色调”。
spring()  # 将颜色表设置为“ spring”。 
viridis()  # 将颜色图设置为“ viridis”。
winter()  # 将颜色表设置为“冷色”。

2、pyplot-- 坐标系、轴、标注

# 标题
title(label [,fontdict,loc,pad,y])  # 设置轴的标题。
table([cellText,cellColours,cellLoc,...])  # 将表添加到轴。
# x坐标
xlabel( xlabel [,fontdict,labelpad,loc])  # 设置x轴的标签。
xlim( * args,** kwargs)  # 获取或设置当前轴的x极限。
xscale( value,** kwargs)  # 设置x轴比例。
xticks( [ticks,labels])  # 获取或设置x轴的当前刻度位置和标签。
# y坐标
ylabel( ylabel [,fontdict,labelpad,loc])  # 设置y轴的标签。
ylim( * args,** kwargs)  # 获取或设置当前轴的y限制。
yscale( value,** kwargs)  # 设置y轴比例。
yticks( [ticks,labels])  # 获取或设置y轴的当前刻度位置和标签。
# 标注
annotate(text, xy, *args, **kwargs)	 # 用文本text注释点xy。
figtext(x,y,s [,fontdict])  # 在图上添加文本。
text(x,y,s [,fontdict])  # 将文本添加到轴。

axes([arg])   # 在当前图形中添加一个坐标轴,并将其作为当前坐标轴。
axhline([y,xmin,xmax])  # 在轴上添加一条水平线。
axvline([x,ymin,ymax])  # 在轴上添加一条垂直线。
axline(xy1 [,xy2,slope])  #  添加无限长的直线。slope:坡度
# 等高线
clabel(CS [,level])  # 标注等高线图

axhspan(ymin,ymax [,xmin,xmax])  #  在轴上添加水平跨度(矩形)。
axvspan(xmin,xmax [,ymin,ymax])  # 在轴上添加垂直跨度(矩形)。

axis(* args [,emit])   #  获取或设置某些轴属性的便捷方法。

cla()  #  Clear the current axes,清除当前轴。
gca(** kwargs)  # 获取当前轴,必要时创建一个。
delaxes([ax])  # 从图中删除一个轴(默认为当前轴)。
arrow(x, y, dx, dy, **kwargs)	# 向轴添加箭头。
autoscale([enable, axis, tight])	# 将轴视图自动缩放为数据(切换)。
legend(* args,** kwargs)  # 在轴上放置一个图例。
locator_params([axis,ight])  # 控制主要刻度线定位器的行为。

minorticks_off()  # 从轴上删除较小的滴答声。
minorticks_on()  # 在轴上显示次刻度。

semilogx(* args,** kwargs)  # 使用x轴上的对数比例绘制图。
semilogy(* args,** kwargs)  # 使用y轴上的对数比例绘制图。

thetagrids([angles,labels,fmt])  # 获取或设置当前极坐标上的theta网格线。
tick_params([axis])  # 更改刻度线,刻度线标签和网格线的外观。 
ticklabel_format(* [,axis,style,...])  # 配置默认情况下用于线性轴的ScalarFormatter。

twinx([ax])  # 制作并返回共享x轴的第二个轴。
twiny([ax])  # 制作并返回共享y轴的第二个轴。

sca(ax)  # 将当前轴设置为ax,将当前图形设置为ax的父级。

3、pyplot–在画图区域绘图、展示、保存

1)绘线
plot(* args [,scalex,scaley,data])   # 将y与x作图,作为线条和/或标记。
plot_date(x,y [,fmt,tz,xdate,ydate,data])   #  绘制包含日期的数据。

# 相关
acorr(x, *[, data])	# 绘制x的自相关。
xcorr( x,y [,normed,detrend,usevlines,...])  # 绘制x和y之间的互相关。
cohere(x,y [,NFFT,Fs,Fc,detrend,...])  #  绘制x和y之间的相干性。detrend:下降趋势

eventplot(positions [,orientation,...])  #  在给定位置绘制相同的平行线。
hlines(y,xmin,xmax [,colors,linestyles,...])  # 在从xmin到xmax的每个y上绘制水平线。

vlines( x,ymin,ymax [,color,linestyles,...])  # 绘制垂直线。

2)绘图
# 条形图
bar(x,height [,width,bottom,align,data])  # 绘制条形图。
barh(y,width [,height,left,align])  # 绘制水平条形图。
barbs(* args [,data]) #  绘制barbs的2D。
colorbar([mappable,cax,ax])  # 将色条添加到绘图中。
errorbar(x,y [,yerr,xerr,fmt,ecolor,...])  # 将y对x绘制为带有错误栏的线和/或标记。
# 直方图
hist(x [,bins,range,density,weights,...])  # 绘制直方图。
hist2d(x,y [,bins,range,density,...])  # 绘制2D直方图。
# 饼图
pie(x[, explode, labels, colors, autopct, ...])	  # 绘制饼图。
# 散点图
scatter(x,y [,s,c,标记,cmap,范数,...])  # 绘制散点图。
# 极坐标图
polar(* args,** kwargs)  # 绘制一个极坐标图。
rgrids([半径,标签,角度,fmt])  # 获取或设置当前极坐标图上的径向网格线。
# 堆叠区域图
stackplot(x,* args [,label,color,...])  # 绘制堆叠区域图。
# stem图
stem(* args [,linefmt,markerfmt,basefmt,...])  # 创建茎图。
# 阶梯图
step(x,y,* args [,where,data])  # 绘制阶梯图。

box([on])  #  打开或关闭当前轴上的axes box。
boxplot(x [,notch,sym,vert,whis,...])  #  制作一个盒子和晶须图。
broken_barh(xranges,yrange,* [,data])  # 绘制矩形的水平序列。

violinplot( dataset [,position,vert,...])  # 绘制小提琴图。

pcolor(* args [,shading,alpha,norm,cmap,...])  # 创建具有非规则矩形网格的伪彩色图。
pcolormesh(* args [,alpha,norm,cmap,vmin,...])  # 创建具有非规则矩形网格的伪彩色图。

streamplot(x,y,u,v [,density,linewidth,...])   # 绘制矢量流的流线。

specgram(x [,NFFT,Fs,Fc,detrend,window,...])  # 绘制频谱图。

phase_spectrum(x [,Fs,Fc,window,pad_to,...])  # 绘制相位谱。

psd(x[, NFFT, Fs, Fc, detrend, window, ...])	 # 绘制功率谱密度。

spy(Z [,precision,marker,markersize,...])  # 绘制2D数组的稀疏模式。

quiver(* args [,data]#  绘制箭头的2D字段。

loglog(* args,** kwargs)  # 绘制一个在x和y轴上均具有对数缩放比例的图。

hexbin(x,y [,C,gridsize,bins,xscale,...])  # 绘制点x,y的2D六角形装箱图。
# 光谱
angle_spectrum(x[, Fs, Fc, window, pad_to, ...])	# 绘制角度光谱。
csd(x,y [,NFFT,Fs,Fc,detrend,window,...])   #  绘制交叉光谱密度。
itude_spectrum(x [,Fs,Fc,window,...])  # 绘制幅度谱。

tricontour(* args,** kwargs)  # 在非结构化三角形网格上绘制轮廓线。
tricontourf(* args,** kwargs)  # 在非结构化三角形网格上绘制轮廓区域。
tripcolor(* args [,alpha,norm,cmap,vmin,...])  # 创建非结构化三角形网格的伪彩色图。
triplot(* args,** kwargs)  # 绘制非结构化的三角形网格作为线和/或标记。
3)当前图操作
# 显示和保存图形
show(* [,block])  # 显示所有打开的图形。
pause(interval)  #运行GUI事件循环间隔秒。Run the GUI event loop for interval seconds.动画
savefig(* args,** kwargs)  #  保存当前图形。

draw()  # 重绘当前图形。
gcf()  # 获取当前图形。
clf()  # 清除当前图形。

sci(im)  #  设置当前图像。
gci()  # 获取当前的可着色artist。

contour(* args [,data])  # 绘制轮廓。
contourf(* args [,data])  # 绘制轮廓。

grid([b,which,axis])  # 配置网格线。

fill(* args [,data])  # 绘制填充的多边形。
fill_between(x,y1 [,y2,where,...])  # 填充两条水平曲线之间的区域。
fill_betweenx(y,x1 [,x2,where,step,...])  # 填充两条垂直曲线之间的区域。
ight_layout(* [,pad,h_pad,w_pad,rect])  # 调整子图之间及其周围的填充。

findobj([o,match,include_self])  # 查找artist对象。
get(obj,* args,** kwargs)  # 返回对象属性的值,或打印所有属性。
get_current_fig_manager()  # 返回当前图形的图形管理器。
get_figlabels()  # 返回现有图形标签的列表。
get_fignums()  # 返回现有图形编号的列表。
getp(obj,* args,** kwargs)  # 返回对象属性的值,或打印所有属性。
setp(obj,* args,** kwargs)  # 在artist对象上设置属性。

quiverkey(Q,X,Y,U,label,** kw)  #  将一个键添加到颤动图中。
4)读图和保存图像
imread(fname [format])  # 从文件中读取图像到数组中。
imsave(fname,arr,** kwargs)  # 将数组另存为图像文件。
imshow(X [,cmap,norm,Aspect,...])  # 将数据显示为图像,即在2D常规栅格上。

4、pyplot的其他功能函数

draw_if_interactive()
ginput([n,timeout,show_clicks,mouse_add,...])  # 阻止与图进行交互的调用。
ioff()  # 关闭交互模式。
ion()  # 启用交互模式。
isinteractive()  # 返回pyplot是否处于“交互模式”。
waitforbuttonpress( [timeout])  # 阻止与该图进行交互的调用。

xkcd( [scale,length,randomness])  # 打开xkcd草图样式绘制模式。仅在调用此函数后才对绘制的内容有效。

uninstall_repl_displayhook()  # 卸载matplotlib显示挂钩。
install_repl_displayhook()  # 安装repl显示钩子,以便在将控制权返回给repl时自动重画任何陈旧的图形。

rc(group,** kwargs)  # 设置当前的rcParams。
rc_context([rc,fname])  # 返回一个用于临时更改rcParams的上下文管理器。
rcdefaults()  # 从Matplotlib的内部默认样式恢复rcParams。

connect(cid)  # 断开ID为cid的回调。
connect(s,func)   # 将函数func绑定到事件s。


二、示例

0. 绘图基本流程

作图基本流程:导入必要的包:开始创建画布>添加画图区域(或者创建子图)>标注(标题、x、y轴名称,刻度)>绘图(根据数据或函数)>添加图例>完成绘制>保存(可选)>显示。

1. 绘制图形

在这里插入图片描述

# 作图基本流程:导入必要的包:开始创建画布>添加画图区域(或者创建子图)>标注(标题、x、y轴名称,刻度)>绘图(根据数据或函数)>添加图例>完成绘制>保存(可选)>显示。
import matplotlib.pyplot as plt
import numpy as np

# 创建画布对象
fig1 = plt.figure(num=1, figsize=(4, 4))
# 给画布对象显示增加绘图区域
ax = fig1.add_subplot(111)  # 绘图区域也是一个对象
ax.plot([1, 2, 3, 4, 5], [1, 4, 9, 16, 25])  # 绘图区域绘图
plt.savefig("paowuxian.png")
plt.show()

2. 绘制正弦频率和幅度可调节图像

在这里插入图片描述

# 正弦频率和幅度可调节图像
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets import Slider, Button


# The parametrized function to be plotted
def f(t, amplitude, frequency):
    return amplitude * np.sin(2 * np.pi * frequency * t)

t = np.linspace(0, 1, 1000)

# Define initial parameters
init_amplitude = 5
init_frequency = 3

# Create the figure and the line that we will manipulate
fig, ax = plt.subplots()
line, = plt.plot(t, f(t, init_amplitude, init_frequency), lw=2)
ax.set_xlabel('Time [s]')

axcolor = 'lightgoldenrodyellow'
ax.margins(x=0)

# adjust the main plot to make room for the sliders
plt.subplots_adjust(left=0.25, bottom=0.25)

# Make a horizontal slider to control the frequency.
axfreq = plt.axes([0.25, 0.1, 0.65, 0.03], facecolor=axcolor)
freq_slider = Slider(
    ax=axfreq,
    label='Frequency [Hz]',
    valmin=0.1,
    valmax=30,
    valinit=init_frequency,
)

# Make a vertically oriented slider to control the amplitude
axamp = plt.axes([0.1, 0.25, 0.0225, 0.63], facecolor=axcolor)
amp_slider = Slider(
    ax=axamp,
    label="Amplitude",
    valmin=0,
    valmax=10,
    valinit=init_amplitude,
    orientation="vertical"
)


# The function to be called anytime a slider's value changes
def update(val):
    line.set_ydata(f(t, amp_slider.val, freq_slider.val))
    fig.canvas.draw_idle()


# register the update function with each slider
freq_slider.on_changed(update)
amp_slider.on_changed(update)

# Create a `matplotlib.widgets.Button` to reset the sliders to initial values.
resetax = plt.axes([0.8, 0.025, 0.1, 0.04])
button = Button(resetax, 'Reset', color=axcolor, hovercolor='0.975')


def reset(event):
    freq_slider.reset()
    amp_slider.reset()
button.on_clicked(reset)

plt.show()

三、参考资料

  1. matplotlib库- - -widgets,slider+button
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柏常青

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值