1 axis
1.0 对比原始图像
import numpy as np
import matplotlib.pyplot as plt
x=range(5)
y=range(10,20,2)
plt.plot(x,y)
1.1 plt.axis('equal')
x轴和y轴单位长度相同
import numpy as np
import matplotlib.pyplot as plt
plt.axis('equal')
x=range(5)
y=range(10,20,2)
plt.plot(x,y)
1.2 plt.axis('square')
#将x轴和y轴长度设置相等,即图是正方形
2 plt.legend
开启图例
2.1 在legend处直接设置所有的图例
import numpy as np
import matplotlib.pyplot as plt
x=range(5)
y1=range(10,20,2)
y2=range(5)
plt.plot(x,y1)
plt.plot(x,y2)
plt.legend(['l1','l2'])
2.2 在各个图绘制的时候设置相应的label
import numpy as np
import matplotlib.pyplot as plt
x=range(5)
y1=range(10,20,2)
y2=range(5)
plt.plot(x,y1,label='l3')
plt.plot(x,y2,label='l4')
plt.legend()
3 xlabel, ylabel
设置x轴y轴标题
import numpy as np
import matplotlib.pyplot as plt
x=range(5)
y=range(10,20,2)
plt.plot(x,y,label='l3')
plt.xlabel('x axis')
plt.ylabel('y axis')
4 plt.figure
创建一个新的图形(figure)或画布
4.1 主要参数
figsize | 图形大小,以英寸为单位的元组 |
dpi | 图形的分辨率,每英寸点数 |
facecolor | 图形的背景颜色 |
edgecolor | 图形的边框颜色 |
4.2 举例
import numpy as np
fig = plt.figure(figsize=(9, 8),
facecolor='grey',
dpi=150)
x=np.linspace(0,10,1000)
y=np.sin(x)**2+np.cos(x)
plt.plot(x,y)
5 fig.suptitle
设置图形对象(figure)的总标题的方法
5.1 主要参数
t | 要显示的标题文本 |
x | 标题的 x 坐标位置,通常是 0.5(居中) |
y | 标题的 y 坐标位置,通常是 0.98(靠近图形顶部) |
horizontalalignment/ha | 标题的水平对齐方式,例如 'center' 、'left' 或 'right' |
verticalalignment/va | 标题的垂直对齐方式,例如 'top' 、'center' 或 'bottom' |
fontsize | 字体大小 |
5.2 举例
import numpy as np
fig = plt.figure(figsize=(9, 8),
facecolor='grey',
dpi=150)
x=np.linspace(0,10,1000)
y=np.sin(x)**2+np.cos(x)
fig.suptitle('sup title',
x=0.3,
y=0.9,
ha='center',
va='top',
fontsize=20)
plt.title('title for plot')
plt.plot(x,y)
6 plt.axes
- 把figure看成一个大的画布;ax(axis)看成是画布中的一块区域
- 接受一个表示轴位置和尺寸的矩形参数,通常以四个值的元组
(left, bottom, width, height)
形式指定。- 表示子图或轴相对于图形的位置和大小
6.1 隐式创建和显示创建
- 显式创建: 可以通过
plt.axes(rect)
显式创建一个axis子图,其中rect
是表示axis子图位置和尺寸的矩形参数。 - 隐式创建: 当通过其他绘图函数(例如
plt.plot
、plt.scatter
)开始绘制时,如果当前没有axis子图,Matplotlib 会隐式地创建一个默认axis子图,并返回相应的轴对象。
6.2 主要参数
[left, bottom, width, height] | axis在图形(figure)中的位置和大小
|
polar | 是否设置子图为极坐标图(极坐标轴) |
aspect | 设置子图的纵横比。可以是 'equal' (相等比例)、'auto' (自动适应绘图区域)或数值(例如 0.5 ) |
xlabel ylabel | 分别设置子图的 x 轴和 y 轴标签 |
xlim ylim | 设置子图的 x 轴和 y 轴的显示范围 |
xticks yticks | 设置子图的 x 轴和 y 轴刻度值 |
xticklabels yticklabels | 设置子图的 x 轴和 y 轴刻度标签 |
facecolor | 子图的背景颜色 |
6.3 举例
import numpy as np
import pandas as pd
fig = plt.figure(figsize=(9, 8),
facecolor='grey',
dpi=150)
x=np.linspace(0,10,1000)
y=np.sin(x)**2+np.cos(x)
ax1=plt.axes([0,0.25,0.2,0.2],
#左边界0(左面还剩0.25比例的figure)
#下边界0.25(下面还剩0.25比例的figure)
#横宽0.2,纵高0.2
facecolor='green',
#axis的背景颜色为绿色
xlabel='x',
#x轴的标签
ylim=[-2,3],
#y轴的范围
xticks=range(0,8,3),
#x轴刻度值
yticklabels=pd.date_range('20230810',periods=6,freq='H'),
#y轴刻度标签
)
ax1.plot(x,y)
ax2=plt.axes([0.5,0.5,0.4,0.4],
facecolor='red',
polar=True#设置为极坐标
)
ax2.plot(x,-y)
7 plt 坐标轴相关
- plt.xlabel、plt.ylabel——设置x轴y轴标签
- plt.xlim、plt.ylim——设置x轴y轴显示范围
- plt.xlim+plt.ylim可以用plt.axis([xmin, xmax, ymin, ymax])一个代替