python绘制多个散点图_如何利用python把多个散点图画在一张图上:一个案例

如果你想做很多个散点图,却又不想使用Excel一个一个地画,一张一张图调整。

那么你可以考虑使用Python。

首先,需要安装并启动anaconda3,过程略。

开始写代码了。

01

基本库的导入,以及为避免后续问题和提前做的设定,包括中文乱码问题的解决,负号的正常显示、让图形显示为矢量图:

#导入基本库import numpy as npimport pandas as pdimport matplotlib.pyplot as plt#解决中文乱码问题plt.rcParams['font.sans-serif'] = ['SimHei']#解决负号无法正常显示的问题plt.rcParams['axes.unicode_minus']=False#图显示为矢量格式%config InlineBackend.figure_format='svg'

02

导入数据,注意,文件路径是双斜杆,文件如果是csv文件,就read_csv,如果是excel文件,就read_excel:

#导入数据data=pd.read_csv('E:\\Python\\dataname.csv',encoding='gbk')

03

第三部分,建立画布,之后的图就都画在这张画布上了:

#建立16x16的画布fig=plt.figure(figsize=(16,16))

04

第四部分,先思考你的图共有多少,要做几行几列呢?

我想做2行3列,那么我接下来是这样的。下面这段的意思是,ax1是我想做的2行3列的图里面的第一个图。

ax1=fig.add_subplot(2,3,1)

05

如果我的数据是这样的,

730e0cf3d7ca7bcbd1a99e382c570265f724a8b8.jpeg?token=ddce9596876a079937bbf7c506b261bf

我需要把编号小于20的学生做到第一张图,编号21到40的学生做到第二张图,那么,接下来我就先来把第一张图的数据整出来。

data1=data[(data['学生编号']>=1) & (data['学生编号']<=20)]

06

然后把data1画到图上,用scatter即可。

plt.scatter(data1['学生编号'],data1['总分'],marker="+",s=1)

b7003af33a87e9504c192d7f81663a45fbf2b478.jpeg?token=f7b1378e79c439c9f592ec846eaa5604

07

这样我们得到了一个很粗糙的散点图。需要继续添加内容,包括:X轴标题、Y轴标题、图的大标题、每个点要显示的数字:

plt.xlabel('学生编号')plt.ylabel('总分')plt.title("学生编号-总分 散点图")for a,b in zip(data1['学生编号'],data1['总分']):plt.text(a,b,b,ha='left',va='top',fontsize=11)

08

这样呢,我们就完成了第一张图了。接下来可以依样画葫芦完成第二张图、第三张图……

ax2=fig.add_subplot(2,3,2)data2=data[(data['学生编号']>=21) & (data['学生编号']<=40)]plt.scatter(data2['学生编号'],data2['总分'],marker="+",s=1)plt.xlabel('学生编号')plt.ylabel('总分')plt.title("学生编号-总分 散点图")for a,b in zip(data2['学生编号'],data2['总分']):plt.text(a,b,b,ha='left',va='top',fontsize=11)ax3=fig.add_subplot(2,3,3)data3=data[(data['学生编号']>=21) & (data['学生编号']<=40)]plt.scatter(data3['学生编号'],data3['总分'],marker="+",s=1)plt.xlabel('学生编号')plt.ylabel('总分')plt.title("学生编号-总分 散点图")for a,b in zip(data3['学生编号'],data3['总分']):plt.text(a,b,b,ha='left',va='top',fontsize=11)

09

依次画葫芦,即可得到想要的图了。

1c950a7b02087bf4283a65f6638d3e2a10dfcfbb.png?token=f2d64d5bfb3643fb9ee55c57250bb1e1

10

最后一步,就是把图片导出了。

plt.savefig("E:\\Python\\scatter.jpg")

大功告成。

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页