matplotlib中的legend()——用于显示图例

Posted 我爱你,中国!中国加油,武汉加油!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matplotlib中的legend()——用于显示图例相关的知识,希望对你有一定的参考价值。

legend()的一个用法:

当我们有多个 axes时,我们如何把它们的图例放在一起呢??

我们可以这么做:

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(1, 11)

fig = plt.figure(1)
ax1 = plt.subplot(2, 1, 1)
ax2 = plt.subplot(2, 1, 2)
l1, = ax1.plot(x, x*x, r)             #这里关键哦
l2, = ax2.plot(x, x*x, b)           # 注意

plt.legend([l1, l2], [first, second], loc = upper right)             #其中,loc表示位置的;

plt.show()

 

在legend的参数中, loc参数设置图例的显示位置的:

best         : 0, (only implemented for axes legends)(自适应方式)
upper right  : 1,
upper left   : 2,
lower left   : 3,
lower right  : 4,
right        : 5,
center left  : 6,
center right : 7,
lower center : 8,
upper center : 9,
center       : 10,

 

另外,还有控制位置的重要参数:bbox_to_anchor(num1, num2),  bbox_to_anchor被赋予的二元组中,第一个数值用于控制legend的左右移动,值越大越向右边移动,第二个数值用于控制legend的上下移动,值越大,越向上移动。

其它参数看这里有:

Keyword
Description
loc
a location code
prop
the font property (matplotlib.font_manager.FontProperties 对象)
eg
song_font = matplotlib.font_manager.FontProperties(fname=simsun.ttc, size=8)
fontsize
the font size (和prop互斥,不可同时使用)
markerscale
the relative size of legend markers vs. original
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 a frame around the legend. If None, use rc
fancybox
if True, draw a frame with a round fancybox. If None, use rc
shadow
if True, draw a shadow behind legend
ncol
number of columns
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 length 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.

以上是关于matplotlib中的legend()——用于显示图例的主要内容,如果未能解决你的问题,请参考以下文章

Matplotlib Legend 中的自定义艺术家

python使用matplotlib可视化线图(line plot)并为可视化图像添加图例(legend)信息(add legend to matplotlib plot)

matplotlib之legend

Matplotlib的一些小细节——Legend图例

Python可视化(matplotlib)图像自定义图例(Legend)

matplotlib 进阶之Legend guide