python plt legend并排_【Matplotlib】图例分开显示

作图时图例往往都会出现一个图例框内,如果需要不同类型的图例分别显示,比如显示两个图例。

基本上,出现两个图例的话,需要调用两次 legend 。第一次调用,你需要将图例保存到一个变量中,然后保存下来。第二次调用清除之前创建的第一个的图例,之后你可以通过 Axes.add_artist 函数手动将第一个图例重新添加回来。

以下为一个简单的例子进行说明:

# -*- coding: utf-8 -*-

import matplotlib.pyplot as plt

import numpy as np

x = np.random.uniform(-1, 1, 4)

y = np.random.uniform(-1, 1, 4)

p1, = plt.plot([1,2,3])

p2, = plt.plot([3,2,1])

l1 = plt.legend([p2, p1], ["line 2", "line 1"], loc='upper left')

p3 = plt.scatter(x[0:2], y[0:2], marker = 'D', color='r')

p4 = plt.scatter(x[2:], y[2:], marker = 'D', color='g')

# This removes l1 from the axes.

plt.legend([p3, p4], ['label', 'label1'], loc='lower right', scatterpoints=1)

# Add l1 as a separate artist to the axes

plt.gca().add_artist(l1)

图例效果如下:

Ly2mEum.png

如果想移动图例在图形中的位置(比如将图例移到数据区域的外侧),请参考官方文档。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值