python给多条线添加标签_python – pyplot在图例中组合了多个行标签

我会亲自做一个小帮手,如果我打算经常做;

from matplotlib import pyplot

import numpy

a = numpy.array([[ 3.57, 1.76, 7.42, 6.52],

[ 1.57, 1.2 , 3.02, 6.88],

[ 2.23, 4.86, 5.12, 2.81],

[ 4.48, 1.38, 2.14, 0.86],

[ 6.68, 1.72, 8.56, 3.23]])

def plotCollection(ax, xs, ys, *args, **kwargs):

ax.plot(xs,ys, *args, **kwargs)

if "label" in kwargs.keys():

#remove duplicates

handles, labels = pyplot.gca().get_legend_handles_labels()

newLabels, newHandles = [], []

for handle, label in zip(handles, labels):

if label not in newLabels:

newLabels.append(label)

newHandles.append(handle)

pyplot.legend(newHandles, newLabels)

ax = pyplot.subplot(1,1,1)

plotCollection(ax, a[:,::2].T, a[:, 1::2].T, 'r', label='data_a')

plotCollection(ax, a[:,1::2].T, a[:, ::2].T, 'b', label='data_b')

pyplot.show()

这个更简单(和IMO更清晰)的方式可以从图例的句柄和标签中删除重复项(比你所拥有的)

handles, labels = pyplot.gca().get_legend_handles_labels()

newLabels, newHandles = [], []

for handle, label in zip(handles, labels):

if label not in newLabels:

newLabels.append(label)

newHandles.append(handle)

pyplot.legend(newHandles, newLabels)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值