我有一些数据,比如:
x = [0,1,0,0,0,1,0,.....]
w = [5,3,3.4,5,3,5,.....]
y = [1,1,0,1,0,0,0,.....]我需要绘制(x,w),这个点的颜色应该由y决定,就像如果我有x = 1,y = 1和w = 3,那么这个点应该是color1。如果我有x = 1,y = 0,那么对于x = 0,应该是color2和color3,对于x = 0,应该是y = 1,对于color4,应该是y = 0。
我已经尝试了一些if else语句,但无法使其工作。
我的代码是:
def plot(x,y,w):
for (a,b) in zip(x,y):
if (a,b)==(0,0):
plt.plot(x,w,'ro')我想为不同的(x,y)值得到一个不同的色点。
发布于 2019-06-09 17:14:30
你可以使用散点图:
import numpy as np
colors = 2 * np.array(x) + np.array(y)
plt.scatter(x,w, c = colors)这会自动为您选择颜色,如果您想要使用自定义颜色,可以执行以下操作:
import numpy as np
import matplotlib.pyplot as plt
colors = 2 * np.array(x) + np.array(y)
plt.scatter(x,w, c = colors)如果你想连接这些点,你可以这样做:
import numpy as np
import matplotlib.pyplot as plt
colorNames = np.array(['red', 'blue', ...])
colors = 2 * np.array(x) + np.array(y)
plt.scatter(x,w, c = colorNames[colors])
plt.plot(x,w)这里,我认为x和y的0和1的序列是2比特的颜色编码
https://stackoverflow.com/questions/56513320
复制相似问题