当前位置:网站首页>(subplots用法)matplotlib如何绘制多个子图(轴域)
(subplots用法)matplotlib如何绘制多个子图(轴域)
2022-07-03 05:07:00 【音程】
import matplotlib.pyplot as plt
#准备数据。
x=np.arange(3)
y1=np.random.rand((3))
y2=np.random.rand((3))
粗略
#得到绘图区以及子图。
fig,(ax1,ax2)=plt.subplots(1,2,figsize=(10,4))#指定绘图区为(10,4),并且一行两列,默认两列各占一半,即(5,4)(5,4)
ax1.plot(x,y1)
ax2.plot(x,y2)

精细
1.刻度
子图的刻度和plt的那个刻度用法不一样。
后者是:
plt.xticks(x,label)#就可以在x的位置处填写label值。
但是子图的用法是:
ax1.set_xticks(x)#在x的位置处标记数字。
ax1.set_xticklabels(label)#在x处标记标签。
效果如下:
#得到绘图区以及子图。
fig,(ax1,ax2)=plt.subplots(1,2,figsize=(10,4))#指定绘图区为(10,4),并且一行两列,默认两列各占一半,即(5,4)(5,4)
ax1.plot(x,y1)
ax2.plot(x,y2)
ax1.set_xticks(x)#在x的位置处标记数字。
# ax1.set_xticklabels(label)#在x处标记标签。

#得到绘图区以及子图。
fig,(ax1,ax2)=plt.subplots(1,2,figsize=(10,4))#指定绘图区为(10,4),并且一行两列,默认两列各占一半,即(5,4)(5,4)
ax1.plot(x,y1)
ax2.plot(x,y2)
ax1.set_xticks(x)#在x的位置处标记数字。
label=["a","b","c"]
ax1.set_xticklabels(label)#在x处标记标签。

2.大小
现在我们可以看到,我们上面设置整个绘图区是(10,4),然后默认就是各自一半,那么如何精细控制每一个子图的大小呢?
#得到绘图区以及子图。
fig,(ax1,ax2)=plt.subplots(1,2,figsize=(10,4))#指定绘图区为(10,4),并且一行两列,默认两列各占一半,即(5,4)(5,4)
ax1.plot(x,y1)
ax2.plot(x,y2)
ax1.set_position((0.1,0.1,0.8,0.8))#将ax1的左下角放在绘图区的0.1,0.1位置处(0.1指代的是绘图区的10%的意思)。ax1的左下角放置好了之后,宽为80%,高为80%。注意,此时ax1的右上角的位置是0.9,0.9。
ax2.set_position((0.9,0.9,0.1,0.1))#所以这里从0.9开始,否则会重叠。然后只占比0.1,刚好用完绘图区。

可以看到,一个大,一个小。
绝招
其实如果你有时间的话,子图(轴域)这个类官方文档中有写,axes其他属性可以见https://matplotlib.org/stable/api/axes_api.html?highlight=axes#module-matplotlib.axes。
总之,要有类的思想,axes(子图)是在figure(画布)中的。那为什么一到画图就很难学了呢?我的感觉是官方为了方便大家,构建子图,我们根本不是去构造axes类,而是调用五花八门的方法,例如上面的
subplots()
这样子,很容易上手,方便新手,但是却大大损害了进阶人士的理解,哎。
按照类的思想,我们应该如下:
先创建绘图区对象figure,然后将这个对象以及子图位置传入axes类的构造函数中,得到子图。然后绘制。
边栏推荐
- [set theory] relation properties (reflexivity | reflexivity theorem | reflexivity | reflexivity theorem | example)
- Promise
- [basic grammar] Snake game written in C language
- Self introduction and objectives
- Cross platform plug-in flutter for displaying local notifications_ local_ notifications
- Overview of basic knowledge of C language
- 音频焦点系列:手写一个demo理解音频焦点与AudioMananger
- [set theory] relational power operation (relational power operation | examples of relational power operation | properties of relational power operation)
- 5-36v input automatic voltage rise and fall PD fast charging scheme drawing 30W low-cost chip
- Realize file download through the tag of < a > and customize the file name
猜你喜欢
![[Yu Yue education] basic reference materials of interchangeability and measurement technology of Zhongyuan Institute of Technology](/img/f1/d0dc4dc3fe49a2d2cd9e452a0ce31e.jpg)
[Yu Yue education] basic reference materials of interchangeability and measurement technology of Zhongyuan Institute of Technology

Retirement plan fails, 64 year old programmer starts work again

es7创建索引容易犯的错误

On typescript and grammar

乾元通多卡聚合路由器的技术解析

How to connect the network: Chapter 2 (Part 1): a life cycle of TCP connection | CSDN creation punch in

Online VR model display - 3D visual display solution

Make your own dataset
![[research materials] 2021 China's game industry brand report - Download attached](/img/b7/a377b0b7c742078e2feb28ebfbca62.jpg)
[research materials] 2021 China's game industry brand report - Download attached

Shallow and first code
随机推荐
Class loading mechanism (detailed explanation of the whole process)
[Yu Yue education] basic reference materials of interchangeability and measurement technology of Zhongyuan Institute of Technology
[research materials] the fourth quarter report of the survey of Chinese small and micro entrepreneurs in 2021 - Download attached
Common methods of JS array
How to connect the network: Chapter 2 (Part 1): a life cycle of TCP connection | CSDN creation punch in
LVS load balancing cluster of efficient multi-purpose cluster (NAT mode)
Mobile terminal - uniapp development record (public request encapsulation)
Sprintf formatter abnormal exit problem
Audio Focus Series: write a demo to understand audio focus and audiomananger
Notes | numpy-08 Advanced index
C language program ideas and several commonly used filters
Use Sqlalchemy module to obtain the table name and field name of the existing table in the database
1095 cars on campus (30 points)
M1 Pro install redis
Notes | numpy-09 Broadcast
Market status and development prospect prediction of the near infrared sensor industry of the global Internet of things in 2022
What is UUID
"Pthread.h" not found problem encountered in compiling GCC
Chapter II program design of circular structure
Based on RFC 3986 (unified resource descriptor (URI): general syntax)