知识点
1.plot():用于绘制线图和 散点图scatter() 函数:
plot() 函数可以接受许多可选参数,用于控制图形的外观,例如:
颜色: color='blue' 控制线条的颜色。
线型: linestyle='--' 控制线条的样式,例如虚线。
标记: marker='o' 控制数据点的标记样式。
标记大小: markersize=5 控制标记的大小。
标签: label='sin(x)' 给线条添加一个标签,用于图例显示。 2.scatter():用于绘制散点图
plt.plot(t, s,label='正弦','b--',color='#096')# 绘图 'b--' 指的是绘制一条蓝色的虚线。 -表示实线
plt.xlabel('x-变量',fontproperties='STKAITI',fontsize=10)
plt.ylabel('y-正弦余弦函数值',fontproperties='STKAITI',fontsize=10)
plt.title('sin-cos 函数图像',fontproperties='STKAITI',fontsize=10)
plt.legend(prop=myfont) #图例
plt.xticks(np.arange(0, 11, step=2)) # 设置 x 轴刻度为 0 到 10,步长为 2
plt.yticks([-1, 0, 1]) # 设置 y 轴刻度为 -1, 0, 1
scatter()
x, y:数据点的 x 和 y 坐标。
s:散点的大小,可以是一个标量,也可以是一个数组,用来指定每个散点的大小。默认为 20。
c:散点的颜色,可以是单个颜色,也可以是与 x 和 y 具有相同长度的颜色序列。默认为 None,表示使用默认的颜色。
marker:散点的标记样式,如 'o' 表示圆形,'^' 表示三角形,'s' 表示正方形等。默认为 'o'。
cmap:指定颜色映射,仅当 c 是一个浮点数数组时才有用。可以是一个 Colormap 对象或者 Colormap 名称的字符串。默认为 None
3.bar():用于绘制垂直条形图和水平条形图
4.hist():用于绘制直方图 histogram
5.pie():用于绘制饼图
ax.pie(np.random.random(4),explode=explode,labels=labels,colors=colors,autopct='%1.1f%%',shadow=True,startangle=90,radius=0.25,center=(0,0))
6.imshow():用于绘制图像
7.subplots():用于创建子图
nrows:整数,表示子图网格的行数。
ncols:整数,表示子图网格的列数。
index:整数,表示当前激活的子图的位置编号,编号从1开始,从左到右、从上到下递增。
8.plt.figure() 是 Matplotlib 中用于创建新图形的函数。它的作用是创建一个新的图形窗口,以便在其中绘制图表 plt.figure(figsize=(8, 6), facecolor='lightblue')
# 获取当前图形的当前轴对象
ax = fig.gca()
# 在轴对象上进行操作,例如绘制图形
ax.plot([1, 2, 3, 4], [1, 4, 9, 16])
ax.set_xlabel(), ax.set_ylabel() 等方法设置轴的标签。
set_xlim(xmin, xmax) 方法用于设置x轴的最小值和最大值
ax.set_aspect('equal') #ax.set_aspect('equal') 确保了坐标轴在水平方向和垂直方向上的比例是相同的,即每个单位长度的像素数量是相等的。
案例:
案例一: 绘制折线图
myfont=fm.FontProperties(fname=r'C:\Windows\Fonts\STKAITI.ttf') #设置字体
t=np.arange(0,2.0*np.pi,0.01)
s=np.sin(t)
z=np.cos(t)
xpoints = np.array([0, 5])
ypoints = np.array([0, 100])
plt.plot(t, s,label='正弦',color='#096')# 绘图
plt.plot(t,z,label='余弦')
plt.xlabel('x-变量',fontproperties='STKAITI',fontsize=10)
plt.ylabel('y-正弦余弦函数值',fontproperties='STKAITI',fontsize=10)
plt.title('sin-cos 函数图像',fontproperties='STKAITI',fontsize=10)
plt.legend(prop=myfont) #图例
plt.show()
案例二:绘制散点图
a=np.arange(0,2*np.pi,0.1)
b=np.cos(a)
plt.scatter(a,b)
plt.show()
案例三:绘制星型散点图
x=np.random.random(100)
y=np.random.random(100)
plt.figure()
plt.scatter(x,y,s=x*500,marker='*')
plt.show()
案例四:绘制饼状图
labels='Frogs','Hogs','Dogs','Logs' #标签,逆时针绘制扇形图
sizes=[15,30,45,10]
colors=['yellowgreen','gold','#FF0000','lightcoral']
explode=(0,0.1,0,0.1)
fig=plt.figure(figsize=(8,9))
ax=fig.gca() #获取轴域
ax.pie(np.random.random(4),explode=explode,labels=labels,colors=colors,autopct='%1.1f%%',shadow=True,startangle=90,radius=0.25,center=(0,0))
ax.pie(np.random.random(4),explode=explode,labels=labels,colors=colors,autopct='%1.1f%%',shadow=True,startangle=90,radius=0.25,center=(1,1))
ax.pie(np.random.random(4),explode=explode,labels=labels,colors=colors,autopct='%1.1f%%',shadow=True,startangle=90,radius=0.25,center=(0,1))
ax.pie(np.random.random(4),explode=explode,labels=labels,colors=colors,autopct='%1.1f%%',shadow=True,startangle=90,radius=0.25,center=(1,0))
ax.set_xticks([0,1]) #设置显示刻度的位置
ax.set_yticks([0,1])
ax.set_xticklabels(["Sunny","Cloudy"]) #设置刻度上显示的文本
ax.set_yticklabels(["Dry","Rainy"])
ax.set_xlim((-0.5,1.5))
ax.set_ylim((-0.5,1.5))
ax.set_aspect('equal') #ax.set_aspect('equal') 确保了坐标轴在水平方向和垂直方向上的比例是相同的,即每个单位长度的像素数量是相等的。
plt.show()
案例五:在图例中显示公式
在图例中显示公式
x=np.linspace(0,2*np.pi,500)
y=np.sin(x)
z=np.cos(x*x)
plt.figure(figsize=(8,4))
plt.plot(x,y,label='$sin(x)$',color='red',linewidth=2) #红色 2像素宽
#$ 将其显示为公式 $
plt.plot(x,z,'b--',label='$cos(x^2)$') #蓝色 虚线
plt.xlabel('Time(s)')
plt.ylabel('Volt')
plt.title('sin and cos figure using pyplot')
plt.ylim(-1.2,1.2)
plt.legend() #显示图示
plt.show()
案例六:生成子图
x=np.linspace(0,2*np.pi,500)
y1=np.sin(x)
y2=np.cos(x)
y3=np.sin(x*x)
plt.figure(1)
ax1=plt.subplot(2,2,1)
ax2=plt.subplot(2,2,2)
ax3=plt.subplot(212,facecolor='y')
plt.sca(ax1) #选择ax1
plt.plot(x,y1,color='red')#绘制红色曲线
plt.ylim(-1.2,1.2)
plt.sca(ax2)
plt.plot(x,y2,'b--') #绘制蓝色曲线
plt.ylim(-1.2,1.2)
plt.sca(ax3)
plt.plot(x,y3,'g--')
plt.ylim(-1.2,1.2)
plt.show()