gpt4 book ai didi

python - 第一个元素未绘制在散点图上

转载 作者:太空宇宙 更新时间:2023-11-03 15:03:53 26 4
gpt4 key购买 nike

第一个数据应该是 (3,1.5) 处的红点,但与其他点不同,它不会绘制。

data=[[3,1.5,1],
[2,1,0],
[4,1.5,1],
[3,1,0],
[3.5,.5,1],
[2,.5,0],
[5.5,1,1],
[1,1,0]]
#Data used, only the (3,1.5) part won't graph
#Loop to plot data
for i in range(len(data)):
point=data[i]
color="r"
if point[2]==0:
color="b"
pp.axis([0,6,0,6])
pp.grid()
pp.scatter(point[0],point[1],c=color)
scat=pp.figure(3)
scat.show()

最佳答案

我不太确定您选择当前设置的原因,但问题是:

scat=pp.figure(3)

这出现在 for 循环的末尾...因此是在第一次迭代基本完成后定义的;你的第一个 pp.scatter(point[0],point[1],c=color) 被否定。将 scat=pp.figure(3) 移动到 for 循环的顶部可以解决该问题。

由于您使用的是常规 Python 列表,因此我不确定它们是否可以被干净地切片。但是,可以使用三个列表推导式:

import matplotlib.pyplot as plt

data=[[3, 1.5, 1],
[2,1,0],
[4,1.5,1],
[3,1,0],
[3.5,.5,1],
[2,.5,0],
[5.5,1,1],
[1,1,0]]

x_data = [item[0] for item in data]
y_data = [item[1] for item in data]
color = ['r' if item[2] else 'b' for item in data]

plt.axis([0,6,0,6])
plt.grid()
plt.scatter(x_data, y_data, color=color)
plt.show()

关于python - 第一个元素未绘制在散点图上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44831710/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com