numpy 错误未知的Matplotlib散点图

cnh2zyt3  于 2023-04-21  发布在  其他
关注(0)|答案(2)|浏览(112)

我正在尝试创建散点图。我有一个从0 - 17的数字列表以及一个包含18个值的数组。我可以将数据绘制为折线图,但当我尝试绘制散点图时,我收到一条错误消息,我不明白:

TypeError: ufunc 'sqrt' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''

此错误消息是什么意思?如何将数据绘制为散点图?

import numpy as np
import matplotlib.pyplot as plt

y = [7316.0, 7453.25, 7518.25, 7711.5, 7448.0, 7210.25, 7416.75, 6960.75, 
     7397.75, 6397.5, 5522.75, 5139.0, 5034.75, 4264.75, 5106.0, 3489.5, 
     4712.0, 4770.0]
x = np.arange(0,18,1)

plt.rcParams['legend.loc'] = 'best'
plt.figure(1)
plt.xlim(0, 20)
plt.ylim(0, 10000)
plt.scatter(x, y, 'r')
plt.show()
pw9qyyiw

pw9qyyiw1#

检查散点文档。第三个参数是点的大小,应该是标量或array_like。我假设'r'是颜色,所以执行以下操作:

plt.scatter(x, y, c='r')
s5a0g9ez

s5a0g9ez2#

plot()的第三个位置参数是fmt=,它采用'[marker][line][color]'的字符串,以便可以一次性格式化每一条线,颜色和标记。如果省略line,它将成为散点图。例如,以下两个绘制相同的图形:

plt.plot(x, y, 'ro');

plt.scatter(x, y, color='r');

相关问题