Matplotlib绘图笔记

使用Python中的Matplotlib绘图,有一些功能记不全,每次都要上网查找相应的代码使用方法,以本文为笔记,记录常用、不常用的使用方法。
官方文档地址:https://matplotlib.org/stable/api/axes_api.html

坐标轴

坐标轴标签密度

MultipleLocator(1)表示间距为1。

from matplotlib import ticker
ax.xaxis.set_major_locator(ticker.MultipleLocator(1))
ax.yaxis.set_major_locator(ticker.MultipleLocator(1))

不显示坐标轴

一次将所有的边框都不显示。

plt.axis('off')

横纵坐标轴的比例

让横轴和纵轴的比例是1:1。

plt.gca().set_aspect(1)

坐标轴范围

常规单图情况使用plt.xlim(xmin,xmax)。多图情况使用ax.set(xlim=(xmin, xmax),ylim=(ymin,ymax))。

# 一般单图使用
plt.xlim(xmin, xmax)
plt.ylim(ymin, ymax)
# 多图情况
ax.set(xlim=(xmin, xmax), ylim=(ymin, ymax))
# 或单图使用
plt.gca().set(xlim=(xmin, xmax), ylim=(ymin, ymax))

子图

生成子图

生成子图,plt.subplots(行数,列数),返回的axes是一个二维索引结构。

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

对二维索引结构扁平化为一维的索引结构,axes.flatten()

for i, ax in enumerate(axes.flatten()):
	ax.plot(x, y)

子图标题

使用ax.set_title(‘title’)标记子图的名称,此时,标题一般在图的顶部。

ax.set_title('title')

为了使标题在图的底部,使用y=-0.2,定义标题的位置。

ax.set_title('title', y=-0.2)

fontsize=15,调整字体大小。

ax.set_title('title', y=-0.2, fontsize=15)

子图间距

通过plt.subplots_adjust进行调整,参数里面的top, left, right, right对应的是以图像左下角为原点,上下左右边角的位置比例,取值为0-1。wspace和hspace控制子图间横纵间距。

plt.subplots_adjust(left, bottom, right, top, wspace, hspace)

设置子图坐标轴的显示范围

如果使用plt.xlim(xmin, xmax)的方式,在迭代过程中,这个范围的限制仅仅只作用于最后一张子图上,正确的方法是对每个子图使用ax.set(xlim=(xmin,xmax))的方法。
参见:https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.axis.html

fig, axes = plt.subplots(2, 3)
for i, ax in enumerate(axes.flatten()):
	ax.set(xlim=(xmin, xmax), ylim=(ymin,ymax))

绘制

绘制箭头

由xytext的坐标指向xy的坐标。

    plt.gca().annotate("", xy=(0, 2.5), xytext=(0, -1.2),
            arrowprops=dict(arrowstyle="->"))

图中写文字

使用$$之后,与LaTeX的使用方法一样。

plt.text(x=1, y=2, s=r'$\hat{\beta}$')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ProfSnail

谢谢老哥嗷

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

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

打赏作者

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

抵扣说明:

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

余额充值