matplotlib  plt.lengend

参考文档   https://www.cnblogs.com/lfri/p/12248629.html

官方文档   https://matplotlib.org/api/_as_gen/matplotlib.pyplot.legend.html

 

matplotlib  plt.lengend

作用:用于给图像加图例。

 

1、语法参数如下:

matplotlib.pyplot.legend(*args, **kwargs)

 

2、参数

keyword

Description

loc

Location code string, or tuple (see below).图例所有figure位置

prop

the font property字体参数

fontsize

the font size (used only if prop is not specified)

markerscale

the relative size of legend markers vs. original

图例标记与原始标记的相对大小

markerfirst

If True (default), marker is to left of the label.

如果为True,则图例标记位于图例标签的左侧

numpoints

the number of points in the legend for line

为线条图图例条目创建的标记点数

scatterpoints

the number of points in the legend for scatter plot

为散点图图例条目创建的标记点数

scatteryoffsets

a list of yoffsets for scatter symbols in legend

为散点图图例条目创建的标记的垂直偏移量

frameon

If True, draw the legend on a patch (frame).

控制是否应在图例周围绘制框架

fancybox

If True, draw the frame with a round fancybox.

控制是否应在构成图例背景的FancyBboxPatch周围启用圆边

shadow

If True, draw a shadow behind legend.

控制是否在图例后面画一个阴

framealpha

Transparency of the frame.

控制图例框架的 Alpha 透明度

edgecolor

Frame edgecolor.

facecolor

Frame facecolor.

ncol

number of columns 设置图例分为n列展示

borderpad

the fractional whitespace inside the legend border

图例边框的内边距

labelspacing

the vertical space between the legend entries

图例条目之间的垂直间距

handlelength

the length of the legend handles 

图例句柄的长度

handleheight

the height of the legend handles 

图例句柄的高度

handletextpad

the pad between the legend handle and text 

图例句柄和文本之间的间距

borderaxespad

the pad between the axes and legend border

轴与图例边框之间的距离

columnspacing

the spacing between columns 列间距

title

the legend title

bbox_to_anchor

the bbox that the legend will be anchored.指定图例在轴的位置

bbox_transform

the transform for the bbox. transAxes if None.

 

3、常用的几个参数:

3.1设置图例位置

plt.legend(loc='upper center')

loc的取值分别为:

0: ‘best'

1: ‘upper right'

2: ‘upper left'

3: ‘lower left'

4: ‘lower right'

5: ‘right'

6: ‘center left'

7: ‘center right'

8: ‘lower center'

9: ‘upper center'

10: ‘center'

 

3.2设置图例字体大小

fontsize : int or float or {‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’}

 

3.3设置图例边框及背景

plt.legend(loc='best',frameon=False) #去掉图例边框

plt.legend(loc='best',edgecolor='blue') #设置图例边框颜色

plt.legend(loc='best',facecolor='blue') #设置图例背景颜色,若无边框,参数无效

对于边框还可以采用面向对象方式:

legend = plt.legend(["First", "Second"])

frame = legend.get_frame()

frame.set_facecolor('blue')

 

3.4设置图例标题

legend = plt.legend(["CH", "US"], title='China VS Us')

 

3.5设置图例名字及对应关系

legend = plt.legend([p1, p2], ["CH", "US"])

4、实例

4.1 实例1

from matplotlib import pyplot as plt
import numpy as np

train_x = np.linspace(-1, 1, 100)
train_y_1 = 2 * train_x + np.random.rand(*train_x.shape) * 0.3
train_y_2 = train_x ** 2 + np.random.randn(*train_x.shape) * 0.3

# 画散点图
p1 = plt.scatter(train_x, train_y_1, c='red', marker='v')
p2 = plt.scatter(train_x, train_y_2, c='blue', marker='o')

# 设置图例标题title,
# 设置图例名字及对应关系[p1, p2], ["CH", "US"]
# 设置图例背景颜色facecolor
# 设置图例位置loc
legend = plt.legend([p1, p2], ["CH", "US"],
                    title='China VS Us', facecolor='y',
                    loc='lower right')

plt.show()

运行结果

4.2 实例2

import numpy as np
import matplotlib.pyplot as plt

X = np.linspace(0, 2*np.pi, 32, endpoint=True)
C,S = np.cos(X), np.sin(X)

#plt.plot(X,C)
#plt.plot(X,S)
plt.plot(X, C, 'go--', color='blue', label='cos')
plt.plot(X,S, color='green', marker='o', linestyle='dashed', label='sin')
# 一个是fmt,一个是线属性,但是它们的格式是一样的

plt.legend(loc='lower left')
plt.show()

运行结果

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值