我正在为一个我正在努力的情节工作的传奇工作遇到很多麻烦。我只想要一个基本的传说,分别对黄色和灰色点说“观察”和“未观察”。我不知道为什么我这么麻烦,我知道这可能是一个愚蠢的问题,但我似乎无法在网上找到任何答案。
由于此代码现在正在使用,它会为数据中的每一行打印一个包含组件的图例,即使可能只有两个唯一值:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
filename = ("master.kkids.obslist")
data = np.loadtxt(filename,skiprows=14,dtype=str)
x = data[:,7]
y = data[:,8]
u = data[:,18]
v = data[:,19]
z = data[:,20]
r = u.astype(str)
s = v.astype(str)
t = z.astype(str)
colors = ["grey" if s == "N" else "yellow" for s in v]
labelf = ["Observed" if s == "N" else "Not Observed" for s in v]
x1 = x.astype(float)
y1 = y.astype(float)
x2 = x1*24/360
plt.xticks(np.arange(0, 26, 2.0))
plt.scatter(x2,y1,c=colors,label=labelf)
plt.ylabel('Declination' + " (" + u"\N{DEGREE SIGN}"+ ")")
plt.xlabel('Right Ascension (h)')
plt.legend(loc='upper right')
plt.savefig('foo.png')
任何有助于让这个传奇工作的帮助将不胜感激。提前谢谢。