如何仅为一个绘图函数获取多个图例组件

时间:2016-02-01 22:00:44

标签: python matplotlib

我正在为一个我正在努力的情节工作的传奇工作遇到很多麻烦。我只想要一个基本的传说,分别对黄色和灰色点说“观察”和“未观察”。我不知道为什么我这么麻烦,我知道这可能是一个愚蠢的问题,但我似乎无法在网上找到任何答案。

由于此代码现在正在使用,它会为数据中的每一行打印一个包含组件的图例,即使可能只有两个唯一值:

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')

任何有助于让这个传奇工作的帮助将不胜感激。提前谢谢。

0 个答案:

没有答案