这里有一个需求,想要绘制散点图,我们知道python里面有个pyplot。但是绘制散点图的时候可能就不知道里面有哪些方法,想要绘制我们想要的效果,感觉就不是那么顺手。这里我介绍下可能用到的函数。首先没有关注我的,请先滑到页面最底部,先关注下本站的公众号。接下来,我们先看看画出来的最终结果图,如下:
那么我们是如何做到这样的,接下来,我们一一介绍下怎么实现的。步骤如下:
1.先导入我们需要使用到的pyplot
包
import matplotlib.pyplot as plt
2.创建数据,
# 下面的x与y的是一一对的
# 也就是[1,9],[2,3],[3,4],[4,5],...这些点
x = [1, 2, 3, 4, 5, 6, 6, 8, 9]#随机写的x取值
y = [9, 3, 4, 5, 6, 7, 8, 2, 1]#随机写的y取值
3.使用scatter
函数画出散点图
plt.scatter(x,y)#画出散点
4.设置x轴的标签,y轴的标签,以及散点图标题
# 解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['STSong']
plt.rcParams['axes.unicode_minus'] = False
plt.xlabel("x的取值") # 设置横轴(x)标签
plt.ylabel("y的取值") # 设置每个图中纵轴(y)的标签
plt.title("散点图") # 设置标题
5.展示图片
plt.tight_layout() # 自动调整参数,使之填充整个图像区域
plt.show() # 展示图片
执行上面的代码后,结果如图:
6.如果我们想要展示背景网格怎么办?那么我们就使用背景网格代码,代码放入到plt.show()
之前即可
plt.grid(linestyle='-.', color='orange') # 画出每个图中的网格
执行结果如下:
7.现在我们发现,光有背景网格,看起来方便,但是具体某个点的坐标我们还得看x轴和y轴来确定,那么我们该怎么办?当然是直接在图上标记出来,标记代码如下:
# 将点的值描述出来
for i in range(len(x)):
plt.text(x[i],y[i],"({},{})".format(x[i],y[i]))
#代码的主要功功能就是直接找到对应的点(x,y),并在点的位置写出坐标值
执行结果如图:
8.最后,整体代码如下:
import matplotlib.pyplot as plt
# 下面的x与y的是一一对的
# 也就是[1,9],[2,3],[3,4],[4,5],...这些点
x = [1, 2, 3, 4, 5, 6, 6, 8, 9]#随机写的x取值
y = [9, 3, 4, 5, 6, 7, 8, 2, 1]#随机写的y取值
plt.scatter(x,y)#画出散点
# 解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['STSong']
plt.rcParams['axes.unicode_minus'] = False
plt.xlabel("x的取值") # 设置横轴(x)标签
plt.ylabel("y的取值") # 设置每个图中纵轴(y)的标签
plt.title("散点图") # 设置标题
plt.grid(linestyle='-.', color='orange') # 画出每个图中的网格
# 将点的值描述出来
for i in range(len(x)):
plt.text(x[i],y[i],"({},{})".format(x[i],y[i]))
plt.tight_layout() # 自动调整参数,使之填充整个图像区域
plt.show() # 展示图片
注意:欢迎转载,转载时请注明来源