【发布时间】:2019-08-26 15:20:08
【问题描述】:
我是 python 新手,我正在尝试用不同颜色绘制一些点。点的颜色应该由点本身的值来决定
数据集是一个 3 维矩阵,前两个维度用于绘图,第三个维度是分类。根据分类,点应具有不同的颜色。
我正在使用带有 if 的 for 循环。 不知何故,它的行为就像所有分类值都是 -1,用该颜色打印所有点,尽管打印值正确。
import numpy as np
import math
import matplotlib.pyplot as plt
p = 10
datacord = np.array([[1,1,1],[1,2,1],[2,2,1],[1,3,1],[2,3,1],[5,5,-1],[5,6,-1],[6,5,-1],[7,6,-1],[7,7,-1]])
xaxis = datacord[:,0]
yaxis = datacord[:,1]
dataclass = datacord[:,2]
for f in range (p):
if dataclass[f] > 0:
plt.scatter(xaxis, yaxis, color="blue")
print(dataclass[f])
else:
plt.scatter(xaxis, yaxis, color="red")
print(dataclass[f])
plt.axis([-1, 10, -1, 10])
plt.show()
我想了解为什么颜色没有变化,但都是一样的。 我希望前 5 个点用蓝色着色,而其他 5 个点用红色着色
提前谢谢你。
【问题讨论】:
标签: python scatter-plot