matplotlib figure和axes详解

figure相当于一张白纸,axes可以用来确定将画画到这张白纸的哪个位置,也可以理解为坐标,
matplotlib figure和axes详解_第1张图片
FigureAxes大概关系就是如上图所示
使用**plt.figure()**创建一个Figure对象,通过plt.show()显示出来

import matplotlib.pyplot as plt

plt.figure()
plt.show()

matplotlib figure和axes详解_第2张图片
坐标轴(axes)
画布现在有了,接下来就是绘图,创建一个坐标轴,可以调用figure实例的add_axes()方法

import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) # [左,下,坐标轴宽度,坐标轴高度](范围取值:(0,1))
plt.show()

matplotlib figure和axes详解_第3张图片
坐标轴距离画布左边0.1倍位置,距离下边0.1倍位置,坐标轴的整体宽度和高度占0.8倍大小

接下来举例,让我们绘图逻辑更强,对我们的图片模块绘制有完全的控制权

import numpy as np
from matplotlib import colors
import matplotlib.pyplot as plt

# 创建画布
fig = plt.figure()
# 创建坐标轴
ax1 = fig.add_axes([0.1, 0.1, 0.8, 0.8])
ax2 = fig.add_axes([0.3, 0.5, 0.4, 0.3])

x1 = [1, 2, 3, 4]
y1 = [4, 1, 1, 16]
x = np.random.randn(50)
y = np.random.randn(50)
color = np.random.rand(50)
size = 500 * np.random.rand(50)
changecolor = colors.Normalize(vmin=0.4, vmax=0.8)

ax1.plot(x1, y1, 'g')
ax2.scatter(x, y, c=color, s=size, alpha=0.3, cmap='viridis', norm=changecolor)
plt.show()

matplotlib figure和axes详解_第4张图片

你可能感兴趣的:(python,matplotlib库详解,python,机器学习,深度学习)