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()——用于显示图例的主要内容,如果未能解决你的问题,请参考以下文章
python使用matplotlib可视化线图(line plot)并为可视化图像添加图例(legend)信息(add legend to matplotlib plot)