一、一个简单的matplotlib:
1、导入库:
from matplotlib import pyplot as plt
#或者import matplotlib.pyplot as plt
2、简单输入x,y:
x=range(2,28,2) #从2到28,公差为2的等差数列,即:2,4,6,...,28
y=[15,13,13,40,23,45,22,23,43,12,32,31,35] #数据在Y轴的位置
3、画图:
plt.plot(x,y) #传入x与y,绘制折线图
plt.show() #输出图形
完整代码:
from matplotlib import pyplot as plt
x=range(2,28,2)
y=[15,13,13,40,23,45,22,23,43,12,32,31,35]
plt.plot(x,y)
plt.show()
但通过这个图,我们可以发现,图上所绘制的图形存在一定的问题:
(1)图片大小与清晰度,(2)描述信息缺失,(3)x与y的刻度不一定符合我们的要求, (4)如果可以的话,我们也可以标注特殊的点。
二、设置图片大小与保存图片:
plt.figure(figsize = (20,8), dpi = 80)
# figsize即图片大小为20*8,dpi即图片清晰度(像素点个数)
plt.savefig("./matplotlib1.png")
# 保存图片,括号内为存储路径
三、添加描述信息:
1、为每条线添加批注:
plt.plot(x, y, label='Y') #通过 label 参数指定该曲线的名称为Y
2、添加标题:
plt.title('一个简单的matplotlib') #添加标题
3、添加x,y轴信息:
plt.xlabel('x') # plt.xlabel 函数用于设置 x 轴的标签
plt.ylabel('y') # plt.ylabel 函数用于设置 y 轴的标签
4、添加图例:
plt.legend()
四、设置坐标轴范围和刻度:
plt.xlim(0, 28)
#设置 x 轴的显示范围,这里设置为从 0 到 28
plt.ylim(0, 50)
#设置 y 轴的显示范围,这里设置为从 0 到 50
1、设置x,y的范围:
2、设置x,y的刻度
plt.xticks(np.arange(2, 29, 2))
#设置 x 轴的刻度位置,这里使用 np.arange 生成从 2 到 29(不包含 29),步长为 2 的数组作为刻度位置
plt.yticks([0,5,10,15,20,25,30,35,40,45,50])
#设置 y 轴的刻度位置,这里用数组直接生成
完整代码:
import numpy as np
from matplotlib import pyplot as plt
plt.figure(figsize = (20,8), dpi = 80)
x=range(2,28,2)
y=[15,13,13,40,23,45,22,23,43,12,32,31,35]
plt.plot(x,y,label = 'Y')
plt.savefig("./matplotlib1.png")
plt.xlabel('x')
plt.ylabel('y')
plt.xlim(0, 28)
#设置 x 轴的显示范围,这里设置为从 0 到 28
plt.ylim(0, 50)
#设置 y 轴的显示范围,这里设置为从 0 到 50
plt.xticks(np.arange(2, 27, 2))
plt.yticks([0,5,10,15,20,25,30,35,40,45,50])
plt.legend()
plt.show()
五、其他的图:
1、散点图:
sizes = 10
plt.scatter(x, y, c='r', s=sizes, alpha=0.5)
#plt.scatter 用于绘制散点图,c 参数指定颜色,s 参数指定点的大小,alpha 参数指定透明度。
2、柱状图:
x = ['A', 'B', 'C', 'D']
y = [20, 35, 30, 25]
plt.bar(x, y)
plt.show()
3、直方图:
data = np.random.randn(1000)
plt.hist(data, bins=30)
plt.show()
4、多子图:
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
# 创建一个 1 行 2 列的子图布局
fig, axes = plt.subplots(1, 2, figsize=(10, 5))
# 在第一个子图中绘制正弦函数
axes[0].plot(x, y1)
axes[0].set_title('Sine Function')
# 在第二个子图中绘制余弦函数
axes[1].plot(x, y2)
axes[1].set_title('Cosine Function')
plt.show()
以上就是常用的matplotlib函数,通过这个,我们可以更直观高效的理清我们所需的不同的图形。