把x_speed = np.arange(50, 600, 50)
换成 x_speed = np.arange(50, 500, 50)
。
x_speed 和 y_distance 组成了每个点的横纵坐标。个数不一致的话,就上面的错误
import numpy as np
import matplotlib.pylab as plt
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = 'False'
x_speed = np.arange(50, 500, 50)
print(list(x_speed))
print(len(list(x_speed)))
y_distance = np.array([1, 1.875, 2.75, 3.25, 4.375, 4.875, 5.675, 6.5, 7.25])
print(y_distance)
print(len(y_distance))
plt.scatter(x_speed, y_distance, s=250, c="red", edgecolors="blue", alpha=0.9)
plt.show()
x和y数量不一样,不能一一对应
首先我从网上爬取了一个图灵机器人api,然后以爬虫做了一个交互式对话。
代码如下:
# coding=gbk
"""
作者:川川
时间:2021/8/21
"""
import requests
print('请输入你想说的:')
while True:
a=input()
url='https://api.ownthink.com/bot?appid=9ffcb5785ad9617bf4e64178ac64f7b1&spoken=%s'%a
te=requests.get(url).json()
data=te['data']['info']['text']
print(data)
运行后我测试了以下,还是很懂事的机器人:
上图
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei' # 设置字体为SimHei以显示中文
plt.rcParams['axes.unicode_minus'] = False # 解决负号显示问题
x_speed = np.arange(50, 600, 50)
y_distance = np.array([1,1.875,2.75,3.25,4.375,4.875,5,675,6.5,7.25])
x_speed = x_speed[:-1]
x_speed = x_speed.flatten()
y_distance = y_distance.flatten()
plt.scatter(x_speed, y_distance, s=250, c='red', edgecolors='blue', alpha=0.9)
plt.title('速度与距离的关系图') # 添加标题
plt.xlabel('速度(km/h)') # 添加x轴标签
plt.ylabel('距离(km)') # 添加y轴标签
plt.grid(True) # 添加网格线
plt.tight_layout() # 调整布局
plt.show()