方法一
plt.switch_backend('agg')
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x1=np.array(x1)
y1=np.array(y1)
x2=np.array(x2)
y2=np.array(y2)
plt.figure(1)
plt.subplot(221)
plt.xlabel('X')
plt.ylabel('Y')
plt.xlim(xmax=150,xmin=0)
plt.ylim(ymax=85,ymin=0)
plt.scatter(x1, y1, s=10, c="red", alpha=0.4, label= save_name+'_T')
plt.scatter(x2, y2, s=10, c="blue", alpha=0.4, label=save_name+'_F')
plt.legend()
plt.subplot(222)
plt.xlabel('X')
plt.ylabel('Y')
plt.xlim(xmax=150,xmin=0)
plt.ylim(ymax=85,ymin=0)
area = np.pi * 0.6**2 # 点面积
plt.scatter(x1, y1, s=area, c="g", alpha=0.4, label= save_name+'_T')
plt.legend()
方法二
colors1 = '#00CED1' #点的颜色
colors2 = '#DC143C'
# 创建分组柱状图,需要自己控制x轴坐标
xticks = np.array(t_key)
fig, (ax1,ax2) = plt.subplots(2,1,figsize=(10,7))
# ax1.(xticks,t_value)
ax1.set_xlabel('X')
ax1.set_ylabel('Y')
ax1.set_xlim(xmax=50,xmin=0)
ax1.set_ylim(ymax=165,ymin=0)
area = np.pi * 0.6**2 # 点面积
ax1.scatter(x1, y1, s=area, c=colors1, alpha=0.4, label= save_name+'_T')
ax1.scatter(x2, y2, s=area, c=colors2, alpha=0.4, label=save_name+'_F')
ax1.legend()
ax2.bar(xticks, value1, width=10, label="t_num", color=colors1)
ax2.bar(xticks-10, value2, width=10, label="f_num", color=colors2)
ax2.set_title("samples distribution", fontsize=15)
ax2.set_xlabel("width ")
ax2.set_ylabel("num")
ax2.legend()
img_save_path= os.path.join(save_path, save_name+".png")
plt.savefig(img_save_path,dpi=100)
plt.show()