目录
import matplotlib.pyplot as plt
1,简单使用
数据源
x=[1,2,3,5,22,18]
y=[33,17,10,28,6,9]
#绘图
plt.plot(x,y)
plt.show()
'''画图的逻辑 1.画布---能画多大的图 2.坐标系----设计一块画布画几张画---布局 3.图型是什么样的 '''
2,画布设置
fig=plt.figure(num='画图大师', #名字
figsize=[4.5,4.2], #画图的尺寸
dpi=150, #分辨率
facecolor='pink', #背景颜色
edgecolor='red' #边缘颜色
)
x=range(1,7)
y=[1,2,3,4,5,20]
plt.plot(x,y)
plt.show()
3,折线样式设置
x=[1,2,3,4]
y=[2,3,4,5]
y1=[i+1 for i in y]
y2=[i+2 for i in y]
y3=[i+3 for i in y]
# b.- b是颜色 .是中间的点的样式 - 线的样式
plt.plot(x,y1,'ro--')
plt.plot(x,y2,'kx-.')
plt.plot(x,y3,'r*:')
plt.plot(x,y,'b.-', # b.- b是颜色 .是中间的点的样式 - 线的样式
)
plt.show()
4,图形里的参数设置
plt.plot(x,y,
color='red', #线的颜色
alpha=0.5, #透明度
marker='D', #折点
linewidth=1, #线宽
markeredgecolor='r', #折点边缘颜色
markersize='10', #折点的大小
markeredgewidth=5
)
plt.xlabel('x') #设置x轴的标签
plt.ylabel('x') #设置Y轴的标签
plt.title('title') #设置标题
plt.show()
5,(1)设置刻度一个小案例
import random
#显示中文
plt.rcParams['font.family']='SimHei'
plt.rcParams['font.size']=10
#一天24h的温度
x=range(2,26,2)
y=[random.randint(20,40) for i in x]
#设置画布的大小
plt.figure(figsize=(10,4),dpi=100)
#y轴的范围
plt.ylim(min(y),max(y)+1)
#定义x轴的标签
xticks_label=[f'{i}:00' for i in x]
print(xticks_label)
#旋转x轴的角度
plt.xticks(x,xticks_label,rotation=45)
#定义y轴的标签
yticks_label=[f'{i}~c' for i in range(min(y),max(x)+1)]
print(yticks_label)
plt.yticks(range(min(y),max(y)+1),yticks_label)
plt.plot(x,y)
plt.title('温度变化')
plt.show()
6,设置多个子图
(1)方法1
import numpy as np
x=np.arange(1,100)
fig=plt.figure(figsize=(8,6),dpi=100)
布局2行2列
plt.subplot(2,2,1)
plt.plot(x,x)
plt.title('1')
plt.subplot(2,2,2)
plt.plot(x,x)
plt.title('2')
plt.subplot(2,2,3)
plt.plot(x,x)
plt.title('3')
plt.subplot(2,2,4)
plt.plot(x,x)
plt.title('4')
plt.suptitle('总标题')
plt.show()
(2)方法2
ax1=fig.add_subplot(2,2,1)
ax1.plot(x,x)
ax2=fig.add_subplot(2,2,3)
ax2.plot(x,x)
plt.show()
(3)方法3
plt.rcParams['axes.unicode_minus']=False
fig,ax=plt.subplots(2,2,figsize=(8,6),dpi=100)
#子图1
ax[0][0].plot(x,x)
ax[0][1].plot(x,x**2)
#设置不规则图像
plt.subplot(2,1,2)
plt.plot(x,x**5)
#保存图片
plt.savefig('./test2.svg')
plt.show()
二,画图型
柱状图