Здравствуйте. Написал скрипт, который отрисовывает окружности на плоскости и в зависимости от некоторой характеристики закрашивает их различным цветом. Возникли проблемы с легендой. В неё записываются повторяющиеся строчки. Объясните пожалуйста как этого элегантно избежать.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import matplotlib.lines as mlines
import matplotlib.cm as cm
from matplotlib.patches import Rectangle, Circle
from pylab import *
def plot_piles(x_list,y_list,values_list,d):
fig = plt.figure()
ax1 = fig.add_subplot(111)
legend_list = list(set(values_list))
legend_list.sort()
for i in range(len(x_list)):
x = x_list[i]
y = y_list[i]
val = values_list[i]
indx = legend_list.index(val)
clr = cm.hsv(32*(indx))
sec = Circle((x,y),d/2.0,facecolor = clr, edgecolor = clr,
label = val)
val_text = text(x, y, str(val),horizontalalignment = 'right')
ax1.add_patch(sec)
plt.axis('equal')
print legend_list
legend()
## legend(legend_list) #в этом случае строчки не повторяются, но цвета перепутаны
fig.subplots_adjust(left=0.05, right=0.95, bottom=0.05, top=0.95)
fig.set_size_inches(11.6929134, 8.2677165) #формат A4
savefig("piles_plan.pdf",dpi=300) #запись в файл
show()
if __name__ == '__main__':
x_list = [0.0,1.2,4.0,-3.0, 1.5,]
y_list = [0.0,3.0,2.6,-7.0,0.1,]
values_list = [1300.0, 1100.0, 1300.0, 1100.0, 2200.0]
plot_piles(x_list,y_list,values_list,0.4)