基于两个条件(x 和 y 轴)的颜色 numpy 数组
Color numpy array based on two condition (x and y axis)
我必须使用 numpy 数组 x 和 y,我想创建散点图并根据 x 和 y 轴值为点着色,例如,所有 x 值在 0.1-0.2 和 之间的点,它们的 y 值在 0.4-0.6 之间的所有点都会变成红色。
我尝试通过以下方式进行:
#generate points
num = 1000
x= np.random.rand(1,100)
y= np.random.rand(1,100)
plt.scatter(x, y, s=5, linewidth=0)
plt.show()
#try to color the points based on condition:
col=[(np.where((x<0.2,'r')&(y<0.4,'r','b')))]
plt.scatter(x, y,c=col, s=5, linewidth=0)
plt.show()
>>>
TypeError: unsupported operand type(s) for &: 'tuple' and 'tuple'
我不确定这是最好的方法。
我的最终目标是根据定义的 x 和 y 条件为值着色。
可以使用按位和运算筛选出需要的点-
import numpy as np
import matplotlib.pyplot as plt
num = 1000
x = np.random.rand(1, 100)
y = np.random.rand(1, 100)
plt.scatter(x, y, s=5, linewidth=0)
mask = np.bitwise_and(np.bitwise_and(x < 0.2, x > 0.1), np.bitwise_and(y < 0.6, y > 0.4))
plt.scatter(x[mask], y[mask], c='r', s=5, linewidth=0)
plt.show()
我必须使用 numpy 数组 x 和 y,我想创建散点图并根据 x 和 y 轴值为点着色,例如,所有 x 值在 0.1-0.2 和 之间的点,它们的 y 值在 0.4-0.6 之间的所有点都会变成红色。 我尝试通过以下方式进行:
#generate points
num = 1000
x= np.random.rand(1,100)
y= np.random.rand(1,100)
plt.scatter(x, y, s=5, linewidth=0)
plt.show()
#try to color the points based on condition:
col=[(np.where((x<0.2,'r')&(y<0.4,'r','b')))]
plt.scatter(x, y,c=col, s=5, linewidth=0)
plt.show()
>>>
TypeError: unsupported operand type(s) for &: 'tuple' and 'tuple'
我不确定这是最好的方法。 我的最终目标是根据定义的 x 和 y 条件为值着色。
可以使用按位和运算筛选出需要的点-
import numpy as np
import matplotlib.pyplot as plt
num = 1000
x = np.random.rand(1, 100)
y = np.random.rand(1, 100)
plt.scatter(x, y, s=5, linewidth=0)
mask = np.bitwise_and(np.bitwise_and(x < 0.2, x > 0.1), np.bitwise_and(y < 0.6, y > 0.4))
plt.scatter(x[mask], y[mask], c='r', s=5, linewidth=0)
plt.show()