我的图有一个非常大的图例,为了更容易找到每个对应的线,我想用最后一个数据点的线的y值对图例进行排序。
plots[]
包含Line2D对象列表,
labels[]
是每个Line2D对象的相应标签,通过labels = [plot._label for plot in plots]
生成
我想按plots._y[-1]
对每个/两个数组进行排序,最后一点的y值
如果我还可以先按_linestyle
(一个字符串)然后按y值排序,那么
点数。
我不确定如何做得好,我不认为它需要一个循环,但它可能因为我按2个标准排序,其中一个处理起来很棘手(':'
并且'-'
是linestyle的值。有没有可以帮助我的功能?
编辑:我刚刚想到我可以在排序后生成标签,这样可以使事情变得简单。但是,我仍然需要按每个对象的linestyle和y [-1]值对plots
进行排序。
答案 0 :(得分:1)
我相信这可行:
sorted(plots, key = lambda plot :(plot._linestyle, plot._y[-1]))