首先导入函数import matplotlib.pyplot as plt
点状图:plt.scatter(x, y)
x,y为行坐标数组,列坐标数组。二者长度要一致
设置行距:plt.xticks(np.arange(-5,5,1))
,行坐标从-5开始,5结束,坐标间隔为1
设置列距:plt.yticks(np.arange(-5,5,1))
,行坐标从-5开始,5结束,坐标间隔为1
注意plt.yticks()接收参数的也是列表
最后显示图:plt.show()
import matplotlib.pyplot as plt
import numpy as np
x = []
y = []
b1 = [2,3]
b2 = [5,7]
l = 9999#向量长度平方和
res_x1 = 0
res_x2 = 0
for x1 in range(-7,1):#x1测试数据:-7 到0
for x2 in range(0,4):#x2测试数据:0到3
x.append(x1 * b1[0] +x2 * b2[0])
y.append(x1 * b1[1] +x2 * b2[1])
if x[-1] == 0 and y[-1] == 0 or (x[-1]**2 + y[-1]**2) > 49:#去同时为0情况,同时只取半径为7的圆内的点
x.pop()
y.pop()
continue
if (x[-1] ** 2 + y[-1] ** 2) < l and (x[-1] != 0 or y[-1] != 0) :
l = (x[-1] ** 2 + y[-1] ** 2)
res_x1 = x1
res_x2 = x2
plt.scatter(x, y)
plt.xticks(np.arange(-5,5,1))
plt.yticks(np.arange(-5,5,1))
plt.show()
print("x1=",res_x1,"x2=",res_x2)
print("向量和最短长度:",l)