当前位置:网站首页>(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类的构造函数中,得到子图。然后绘制。
边栏推荐
- 112 stucked keyboard (20 points)
- Notes | numpy-10 Iterative array
- 2022-02-11 daily clock in: problem fine brush
- Unity tool Luban learning notes 1
- 1103 integer factorization (30 points)
- JQ style, element operation, effect, filtering method and transformation, event object
- Retirement plan fails, 64 year old programmer starts work again
- BIO、NIO、AIO区别
- leetcode452. Detonate the balloon with the minimum number of arrows
- Review the configuration of vscode to develop golang
猜你喜欢

Concurrent operation memory interaction

On typescript and grammar

M1 Pro install redis

Appium 1.22. L'Inspecteur appium après la version X doit être installé séparément

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

leetcode406. Rebuild the queue based on height

Review the old and know the new: Notes on Data Science
![[set theory] relation properties (reflexivity | reflexivity theorem | reflexivity | reflexivity theorem | example)](/img/2a/362f3b0491f721d89336d4f468c9dd.jpg)
[set theory] relation properties (reflexivity | reflexivity theorem | reflexivity | reflexivity theorem | example)

Analysis of proxy usage of ES6 new feature

Learn to use the idea breakpoint debugging tool
随机推荐
[research materials] the fourth quarter report of the survey of Chinese small and micro entrepreneurs in 2021 - Download attached
[research materials] annual report of China's pension market in 2021 - Download attached
The principle is simple, but I don't know how to use it? Understand "contemporaneous group model" in one article
Appium 1.22. L'Inspecteur appium après la version X doit être installé séparément
cookie session jwt
1094 the largest generation (25 points)
Pan details of deep learning
[backtrader source code analysis 5] rewrite several time number conversion functions in utils with Python
study hard and make progress every day
Caijing 365 stock internal reference: what's the mystery behind the good father-in-law paying back 50 million?
[set theory] relationship properties (common relationship properties | relationship properties examples | relationship operation properties)
Realize file download through the tag of < a > and customize the file name
My first Smartphone
Kept hot standby and haproxy
Market status and development prospect prediction of the global fire alarm sensor industry in 2022
Market status and development prospect prediction of global fermented plant protein industry in 2022
Market status and development prospect forecast of global heat curing adhesive industry in 2022
Notes | numpy-11 Array operation
Maximum continuous sub segment sum (dynamic programming, recursive, recursive)
[set theory] relation properties (reflexivity | reflexivity theorem | reflexivity | reflexivity theorem | example)