从文件results1.txt中读取数据,results1.txt放在py文件同目录下,数据形式为八列
results1.txt数据:
1.318,3.272,0.361,0.572,0.677,3.539,3.405,4.505
3.051,4.163,1.648,4.442,0.991,3.676,2.917,3.686
3.211,1.729,1.632,2.093,4.039,1.228,0.648,4.866
4.564,4.920,3.045,3.296,1.936,4.042,0.042,3.233
4.823,4.675,1.364,0.282,1.103,4.087,1.815,3.731
2.640,2.864,3.450,1.541,3.739,0.743,4.417,4.136
3.035,4.213,3.089,0.951,2.467,1.409,3.079,3.131
3.993,2.260,1.028,2.534,1.897,3.477,0.346,4.802
3.520,4.848,1.891,1.436,3.998,2.978,2.825,2.861
0.844,4.590,2.579,4.081,0.349,3.923,2.503,2.968
代码:
import matplotlib.pyplot as plt
import numpy as np
# 定义画散点图的函数
def draw_scatter(n, s):
"""
:param n: 点的数量,整数
:param s:点的大小,整数
:return: None
"""
# 加载数据
data = np.loadtxt('results1.txt', encoding='utf-8', delimiter=',')
# 通过切片获取横坐标x1,data[:, 0]表示第一列数据
x1 = data[:, 0]
# 通过切片获取纵坐标R,data[:, 1]表示第二列数据
y1 = data[:, 1]
x2 = data[:, 2]
y2 = data[:, 3]
x3 = data[:, 4]
y3 = data[:, 5]
x4 = data[:, 6]
y4 = data[:, 7]
# 创建画图窗口
fig = plt.figure()
# 设置标题
#ax.set_title('Scatter diagram')
# 设置横坐标名称
#ax.set_xlabel('gamma-value')
# 设置纵坐标名称
#ax.set_ylabel('R-value')
# 将画图窗口分成2行2列,选择第1块区域作子图
ax1 = fig.add_subplot(2, 2, 1)
# 画散点图
ax1.scatter(x1, y1, s=s, c='k', marker='.')
# 调整横坐标的上下界
plt.xlim(xmax=5, xmin=0)
plt.ylim(ymax=5, ymin=0)
# 将画图窗口分成2行2列,选择第2块区域作子图
ax2 = fig.add_subplot(2, 2, 2)
# 画散点图
ax2.scatter(x2, y2, s=s, c='k', marker='.')
# 调整横坐标的上下界
plt.xlim(xmax=5, xmin=0)
plt.ylim(ymax=5, ymin=0)
# 将画图窗口分成2行2列,选择第3块区域作子图
ax3 = fig.add_subplot(2, 2, 3)
# 画散点图
ax3.scatter(x3, y3, s=s, c='k', marker='.')
# 调整横坐标的上下界
plt.xlim(xmax=5, xmin=0)
plt.ylim(ymax=5, ymin=0)
# 将画图窗口分成2行2列,选择第4块区域作子图
ax4 = fig.add_subplot(2, 2, 4)
# 画散点图
ax4.scatter(x4, y4, s=s, c='k', marker='.')
# 调整横坐标的上下界
plt.xlim(xmax=5, xmin=0)
plt.ylim(ymax=5, ymin=0)
# 显示
plt.show()
# 主模块
if __name__ == "__main__":
# 运行
draw_scatter(n=10, s=20)
输出结果:



