1.图例legend基础语法及用法

matplotlib.pyplot.legend(*args, **kwargs)-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列展示
-columnspacing  the spacing between 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 height of the legend handles 图例句柄的高度
-handletextpad  the pad between the legend handle and text 图例句柄和文本之间的间距
-borderaxespad  the pad between the axes and legend border轴与图例边框之间的距离
-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.

(1)设置图例位置

使用loc参数
plt.legend(loc=‘lower left’)


(2)设置图例字体
#设置字体大小
fontsize : int or float or {‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’}

(3)设置图例边框及背景

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

(4)设置图例标题

plt.legend(loc='best',title='figure 1 legend') #去掉图例边框

2.legend面向对象命令

(1)获取并设置legend图例

plt.legend(loc=0, numpoints=1)
leg = plt.gca().get_legend() #或leg=ax.get_legend()
ltext = leg.get_texts()
plt.setp(ltext, fontsize=12,fontweight='bold') 

(2)设置图例

legend = ax.legend((rectsTest1, rectsTest2, rectsTest3), ('test1', 'test2', 'test3'))
legend = ax.legend(loc='upper center', shadow=True, fontsize='x-large')
legend.get_frame().set_facecolor('red') #设置图例legend背景为红色
frame = legend.get_frame()
frame.set_alpha(1)
frame.set_facecolor('none')  #设置图例legend背景透明  

(3)移除图例

ax1.legend_.remove() ##移除子图ax1中的图例
ax2.legend_.remove() ##移除子图ax2中的图例
ax3.legend_.remove() ##移除子图ax3中的图例

3.案例:设置图例legend到图形边界外

bbox_to_anchor:表示legend的位置,前一个表示左右,后一个表示上下。当使用这个参数时。loc将不再起正常的作用,ncol=3表示图例三列显示。
首先按上面的方式,如果你想将图例放上面就box.height0.8,放右边就box.width0.8其它方式一样。

#主要是bbox_to_anchor的使用
box = ax1.get_position()
# 调整图的位置  并压缩某一条轴
ax1.set_position([box.x0, box.y0, box.width , box.height* 0.8])
ax1.legend(loc='center', bbox_to_anchor=(0.5, 1.2),ncol=3)

4.案例:显示多图例legend

import matplotlib.pyplot as plt
import numpy as npx = 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)plt.show()

import matplotlib.pyplot as plt
line1, = plt.plot([1,2,3], label="Line 1", linestyle='--')
line2, = plt.plot([3,2,1], label="Line 2", linewidth=4)
# 为第一个线条创建图例
first_legend = plt.legend(handles=[line1], loc=1)
# 手动将图例添加到当前轴域
ax = plt.gca().add_artist(first_legend)
# 为第二个线条创建另一个图例
plt.legend(handles=[line2], loc=4)
plt.show()

import pandas as pd
import numpy as np
import matplotlib.pyplot as pltfig = plt.figure(1)
ax1 = fig.add_subplot(1,1,1)df1 = pd.DataFrame(np.random.randn(3,5),columns = ['one','two','three','four','five'])df1.plot(ax = ax1, title = "df1", grid = 'on')ax1.legend( loc='lower center',ncol=5,bbox_to_anchor=(0.5,-0.15),borderaxespad = 0.,fontsize = 8)     ##设置ax1中legend的位置,将其放在图外
plt.savefig('./oo.png',dpi=600)
plt.show()

Matplotlib:Legend 图例相关推荐

  1. python plt legend并排,matplotlib Legend 图例用法

    matplotLib Legend添加图例:展示数据的信息 用法: legend(): 默认获取各组数据的Label并展示在图框左上角 legend(labels): legend(handles, ...

  2. matplotlib之legend图例和标注(笔记三)

    代码: # -*- coding:utf-8 -*- #matplotlib设置legend图例 import matplotlib.pyplot as plt import numpy as npx ...

  3. 调整matplotlib的图例legend的位置

    很多时候再用matplotlib画图例时,直接使用的是: plt.legend(lab) 以为它会自动调整图例的位置,今天画了个雷达图,发现图例位置和想象中的不一样,如下: 经查资料,原来可以lege ...

  4. Python Matplotlib数据可视化绘图之(六)————图片大小、颜色、标题、纵横坐标、画布和绘图区域背景颜色、Legend(图例)等的参数设置详解

    文章目录 前言 一.图片大小的设定和调节 1. 三种调整matplotlib图片大小的方法 1.1 plt.figure(figsize=(n, n)) 1.1.1 代码如下: 1.1.2 输出结果如 ...

  5. Matplotlib显示图例

    原文地址 分类目录--Matplotlib 先看效果 导入支持包 import matplotlib import matplotlib.pyplot as plt import numpy as n ...

  6. python中图例legend标签内容_matplotlib设置legend图例代码示例

    matplotlib设置legend图例代码示例 本文主要是关于matplotlib的一些基本用法. Demo import matplotlib.pyplot as plt import numpy ...

  7. python(matplotlib2)——legend图例,Annotation图片注解

    文章目录 前言 legend 图例 将figure的边框消除 figure中设置x,y坐标轴位置 Annotation图片注解 标注一个点 更多标注 前言 来自 莫烦python的总结. legend ...

  8. Echarts数据可视化legend图例,开发全解+完美注释

    全栈工程师开发手册 (作者:栾鹏) Echarts数据可视化开发代码注释全解 Echarts数据可视化开发参数配置全解 6大公共组件详解(点击进入): title详解. tooltip详解.toolb ...

  9. Python错误集锦:matplotlib legend提示:ValueError: Unrecognized location ‘upper’. Valid locations are

    原文链接:http://www.juzicode.com/archives/2486 错误提示: 使用matplotlib legend提示:ValueError: Unrecognized loca ...

最新文章

  1. [13] 弧面(Arc)图形的生成算法
  2. 在 emu8086 中学习汇编In,Out指令
  3. 窥探SnowflakeIdWorker之并发生成唯一ID
  4. 浅谈python socket编程
  5. 地表最强的MySQL安装一键式安装,信不信你下完我就给你装好!附各种Mysql安装失败的解决办法(什么你安装失败了?快来看这个)
  6. Effective_STL 学习笔记(二十七) 用 distance 和 advance 把 const_iterator 转化成 iterator...
  7. 第1节 连通性强连通、割点和桥(一)
  8. 查看tensor的形状,行列大小
  9. dede image.class.php,DEDE模板下载织梦DEDE 核心类TypeLink.class.php功能剖析
  10. 天干物燥,给你写BUG的心来点甘露
  11. 聊聊、Spring WebApplicationInitializer
  12. 关于改良报告与学习总结(Ⅰ)
  13. 单表查询 多表查询 子查询
  14. 有哪些毕设免费查重和降重的网站
  15. MS-SQLSERVER中的msdtc不可用解决方法
  16. Java 开发项目管理工具
  17. EAN13商品条码数据如何居中显示
  18. Ubuntu20.04安装视频播放器SMPlayer
  19. 推荐一个免费的论文查重检测软件PaperRight
  20. linux网络入侵命令,如何使用netstat命令验证DDOS入侵

热门文章

  1. 吉林大学高级程序设计(红皮书例题)(1~7章)
  2. android 外接USB扫码器应用闪退解决方法
  3. 重装win10遇到的坑
  4. 划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒。两人同赢或两人同输
  5. python学习——英语单词背诵小程序
  6. 基于Halcon学习的车牌识别【一】
  7. 数学杂记(1)一些无处安放的数学推导
  8. Java中IO的快速复习(代码+注释)
  9. K2P刷机教程转自恩山磨人的小妖精
  10. 阿里开源的这个库,让 Excel 导出不再复杂(既要能写,还要写的好看)