图例 legend()

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
什么是图例?

图例是集中于图的一角或者一侧的各种符号和颜色代表内容的说明,有助于更好地理解图

设置方法
①直接在plot中设置label属性值 最后调用legend() 方法即可

x = np.linspace(-5, 5)
y = np.random.randint(10, 40, len(x))
z = np.random.randint(20, 30, len(x))

plt.plot(x, y, label='one', color='blue')
plt.plot(x, z, label='two', color='red')
plt.legend()

在这里插入图片描述

但是图例的位置不好,我们需要自己设置位置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PNfwREy5-1648530372730)(attachment:image-2.png)]

在 legend() 方法中设置loc属性的值用于改变图例的位置

plt.plot(x, y, label='sinx', color='blue')
plt.plot(x, z, label='cosx', color='red')
plt.legend(loc='upper right')

在这里插入图片描述

显示每个点的坐标在图像中

首先介绍一下 zip() 方法 该方法可以将传入的n个元素数量相等的列表压缩成一个元组,元组的每个元素就是一个n元组

a = np.random.randint(10 ,30, 5)
b = np.random.randint(10 ,30, 5)
ab = zip(a, b)
for m,n in ab:
    print(m, '  ', n)
24    11
16    10
17    13
13    17
19    15

用该方法就可实现需求

p = [-3, -2, -1, 0, 1, 2, 3]
q =list(np.random.randint(10, 30, len(p)))
pq = zip(p, q)
for m,n in pq:
    plt.text(m, n, f'({m},{n})')
plt.plot(p, q, label='sinx', color='blue')
plt.legend(loc='upper right')

在这里插入图片描述


Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐