我尝试使用 python 3.5 遵循本教程,但是我收到错误而不是预期结果。另外,如果您能解释一下下面所示的行的作用,我将不胜感激。
import matplotlib.pyplot as plt
x=[1,2,3,4,5]
y=[1,2,3,4,5]
list1, list2 = [123, 'xyz', 'zara', 'abc'], [456, 700, 200]
print ("min value element : ", min(list1))
print ("min value element : ", min(list2))
plt.scatter(x, y, color='red')
#please explain this line:
plt.plot([y.min(), y.max()], [y.min(), y.max()], color='blue', linewidth=3)
plt.show()
Run Code Online (Sandbox Code Playgroud)
在 python 3 中,比较操作对于内置数据类型更加严格。
>>> min([123, 'xyz', 'zara', 'abc'])
TypeError: unorderable types: str() < int()
Run Code Online (Sandbox Code Playgroud)
min()尝试比较'xyz' < 123在 python 2 中可行,但在 python 3 中不行。
如果您想获取列表中最小的成员,请使用min(list),而不是list.min()。
这应该有效,例如:
plt.plot([min(y), max(y)], [min(x), max(x)], color='blue', linewidth=3)
Run Code Online (Sandbox Code Playgroud)