视频:
# 散点图
# 设置画布大小,分辨率,和底色
plt.figure(figsize=(20,8),dpi=60,facecolor='w')
# 让plt可以正常显示中文和英文
plt.rcParams['font.sans-serif']=['Times New Roman']
plt.rcParams['axes.unicode_minus'] = False
fontcn = {'family': 'SimHei'}
fonten = {'family':'Times New Roman'}
# 画出散点图
plt.scatter(df['Attack'][:],df['Sp. Atk'][:] ,s=20 ,marker='o' ,cmap='Blues' ,c=df['Attack'] ,label='SP' ,alpha=0.5)
plt.scatter(df['Attack'][:],df['Total'][:],s=df['Total'][:] ,marker='o' ,c='red' ,label='Total',alpha=0.5)
# 设置图像的标题,坐标轴,坐标轴和图例
plt.title("scatterplot of Pokemon",fontsize=30)
plt.xticks(rotation=90,fontsize=20)
plt.yticks(fontsize=20)
plt.xlabel('普通攻击',fontsize=30,color='blue',fontdict=fontcn,alpha = 0.5)
legend = plt.legend(fontsize=20,loc="upper left")
# 设置图例大小一致
legend.legendHandles[0]._sizes = [100]
legend.legendHandles[1]._sizes = [100]
# 设置图例背景透明
frame = legend.get_frame()
frame.set_alpha(1) # 设置图例的边框为透明
frame.set_facecolor('none') # 设置图例legend背景透明
#保存和显示图像
plt.savefig('scatter.png',bbox_inches='tight',transparent = True)
# bbox_inches='tight'让图像完整显示,transparent = True让图片背景为透明
plt.show()