当前位置:网站首页>Matplotlib绘图笔记
Matplotlib绘图笔记
2022-08-05 05:25:00 【ProfSnail】
使用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}$')
边栏推荐
- The 25 best free games on mobile in 2020
- 路由器和静态路由的配置
- Native JS takes you to understand the implementation and use of array methods
- disabledDate 日期选择器 datePicker
- NB-IOT智能云家具项目系列实站
- Cloud computing - osi seven layers and TCP\IP protocol
- CIPU, what impact does it have on the cloud computing industry?
- What should I do if the SSL certificate prompts that it is expired or invalid?
- Media query, rem mobile terminal adaptation
- D39_Vector
猜你喜欢
随机推荐
数组&的运算
js判断文字是否超过区域
Mina's long and short connections
NB-IOT智能云家具项目系列实站
What impact does CIPU have on the cloud computing industry?
指针常量与常量指针 巧记
Advantages of overseas servers
D39_Eulerian Angles and Quaternions
DevOps process demo (practical record)
D39_Vector
LeetCode练习及自己理解记录(1)
reduce()方法的学习和整理
初识网页与浏览器
DevOps - Understanding Learning
Programmers should understand I/O this way
网络协议基础-学习笔记
What?CDN cache acceleration only works for accelerating static content?
请问下通过flink sql读取hologres 的两张表的 binlog,然后如何进行join?
教您简单几步实现工业树莓派正确安装RS232转USB驱动
Tencent greetings function SCF - entry instructions