【Matplotlib】详解图像各个部分
首先给一幅Matplotlib
的图像组成部分做个介绍。
在matplotlib中,整个图像
为一个Figure
对象。在Figure对象中可以包含一个或者多个Axes
对象。每个Axes(ax)对象都是一个拥有自己坐标系统的绘图区域。所属关系如下:
下面以一个直线图来详解一个Axes对象内部各个组件内容:
其中:title为图像标题,Axis为坐标轴, Label为坐标轴标注,Tick为刻度线,Tick Label为刻度注释。各个对象关系可以梳理成以下内容:
图像中所有对象均来自于Artist
的基类。
常用用法
获取当前axes:plt.gca()
获取当前figure:plt.gcf()
创建figure:plt.figure()
创建axes:plt.subplot()
创建figure和axes的列表:plt.subplots()
设置x轴范围:plt.xlim(min,max)
设置y轴范围:plt.ylim(min,max)
设置x轴标签:plt.xlabel(str)
设置y轴标签:plt.ylabel(str)
from matplotlib import pyplot as plt
import numpy as np
from pylab import mpl
# 配置文件
# 设置中文正常显示
mpl.rcParams['font.sans-serif'] = ['SimHei']
x = np.arange(1,3)
y = np.arange(2,4)
figure = plt.figure()
ax = plt.subplot(111)
# 设置x轴范围
plt.xlim(1,10)
# 设置y轴范围
plt.ylim(2,5)
# 设置x轴名称
plt.xlabel("我是x")
# 设置y轴名称
plt.ylabel("我是y")
plt.plot(x,y)
plt.show()
你可以创建多个figure,也可以在一个figure下创建多个axes,这里就需要注意当前figure和当前axes的概念了。看一个例子学习一下。
import matplotlib.pyplot as plt
plt.figure(1) # 第一张图
plt.subplot(211) # 第一张图中的第一张子图
plt.plot([1,2,3])
plt.subplot(212) # 第一张图中的第二张子图
plt.plot([4,5,6])
plt.figure(2) # 第二张图
plt.plot([4,5,6]) # 默认创建子图subplot(111)
plt.figure(1) # 切换到figure 1 ; 子图subplot(212)仍旧是当前图
plt.subplot(211) # 令子图subplot(211)成为figure1的当前图
plt.title('Easy as 1,2,3') # 添加subplot 211 的标题
设置坐标轴刻度:
1.plt.xticks()
2.
未完待续……