【python】深入探索使用Matplotlib中的plt.legend()添加图例

2024-02-20 04:04

本文主要是介绍【python】深入探索使用Matplotlib中的plt.legend()添加图例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

当我们绘制复杂的图表,尤其是包含多个数据系列的图表时,一个清晰、易读的图例是至关重要的。plt.legend()函数是Matplotlib库中用于添加和定制图例的关键工具。在本篇博文中,我们将深入探讨plt.legend()的功能、用法以及如何通过它提升图表的可读性和美观度。

1.plt.legend()的基本用法

首先,我们需要了解plt.legend()的基本用法。通常,在绘制完图表的数据系列后,我们可以简单地调用plt.legend()来自动创建一个图例。例如:

# -*- coding: utf-8 -*-
"""
Created on Mon Feb 19 13:33:58 2024@author: zqq
"""import matplotlib.pyplot as plt  
import numpy as np  x = np.linspace(0, 10, 100)  
y1 = np.sin(x)  
y2 = np.cos(x)  plt.rcParams['axes.unicode_minus']=False  # 显示负号plt.plot(x, y1, label='sin(x)')  
plt.plot(x, y2, label='cos(x)')  plt.legend()  
plt.show()

在这个例子中,label参数用于为数据系列指定标签,这些标签随后被plt.legend()用来创建图例。

这段代码在Spyder编辑器中如下:

在这里插入图片描述
运行代码,得到下面的图表:

在这里插入图片描述
可以看到图例(蓝色实线sin(x)、橙色实线cos(x))在左下角,我们可以通过设置超参数指定该图例的位置。plt.rcParams[‘axes.unicode_minus’]=False # 显示负号,这段代码表示正常显示负号。

使用方法:

plt.legend(loc='xxx')

xxx的取值为:

  • ‘best’(默认值):自动选择最佳位置。
  • ‘upper right’:右上角。
  • ‘upper left’:左上角。
  • ‘lower right’:右下角。
  • ‘lower left’:左下角。
  • ‘right’:右侧。
  • ‘center left’:左侧中央。
  • ‘center right’:右侧中央。
  • ‘lower center’:底部中央。
  • ‘upper center’:顶部中央。

2.plt.legend()的示例

# -*- coding: utf-8 -*-
"""
Created on Mon Feb 19 11:21:04 2024@author: zqq
"""import matplotlib.pyplot as plt
from matplotlib import pyplot as plt# 示例数据
x = [1, 2, 3, 4, 5, 6, 7]
y1 = [9, 12, 18, 20, 15, 17, 27]
y2 = [8, 12, 9, 14, 11, 15, 16]
y3 = [12, 14, 10, 12, 16, 18, 20]
y4 = [11, 19, 6, 15, 14, 16, 23]# 绘制数据,并添加标签
plt.plot(x, y1, label='数据系列1')
plt.plot(x, y2, label='数据系列2')
plt.plot(x, y3, label='数据系列3')
plt.plot(x, y4, label='数据系列4')plt.rcParams['font.sans-serif']=['simHei']  # 中文显示# 添加图例
plt.legend(loc='lower right')# 显示图表
plt.show()

plt.rcParams[‘font.sans-serif’]=[‘simHei’] # 中文显示,这段代码表示正常显示中文。

plt.legend(loc=‘lower right’),显示在右下角:

在这里插入图片描述

plt.legend(loc=‘upper left’),显示在左上角:

# -*- coding: utf-8 -*-
"""
Created on Mon Feb 19 11:21:04 2024@author: zqq
"""import matplotlib.pyplot as plt
from matplotlib import pyplot as plt# 示例数据
x = [1, 2, 3, 4, 5, 6, 7]
y1 = [9, 12, 18, 20, 15, 17, 27]
y2 = [8, 12, 9, 14, 11, 15, 16]
y3 = [12, 14, 10, 12, 16, 18, 20]
y4 = [11, 19, 6, 15, 14, 16, 23]# 绘制数据,并添加标签
plt.plot(x, y1, label='数据系列1')
plt.plot(x, y2, label='数据系列2')
plt.plot(x, y3, label='数据系列3')
plt.plot(x, y4, label='数据系列4')plt.rcParams['font.sans-serif']=['simHei']  # 中文显示# 添加图例
plt.legend(loc='upper left')# 显示图表
plt.show()

在这里插入图片描述

plt.legend(),默认参数,显示在最佳位置:

# -*- coding: utf-8 -*-
"""
Created on Mon Feb 19 11:21:04 2024@author: zqq
"""import matplotlib.pyplot as plt
from matplotlib import pyplot as plt# 示例数据
x = [1, 2, 3, 4, 5, 6, 7]
y1 = [9, 12, 18, 20, 15, 17, 27]
y2 = [8, 12, 9, 14, 11, 15, 16]
y3 = [12, 14, 10, 12, 16, 18, 20]
y4 = [11, 19, 6, 15, 14, 16, 23]# 绘制数据,并添加标签
plt.plot(x, y1, label='数据系列1')
plt.plot(x, y2, label='数据系列2')
plt.plot(x, y3, label='数据系列3')
plt.plot(x, y4, label='数据系列4')plt.rcParams['font.sans-serif']=['simHei']  # 中文显示# 添加图例
plt.legend()# 显示图表
plt.show()

在这里插入图片描述

图例不仅是数据系列的标识,它也是图表整体设计的一部分。合适的图例位置、大小和样式可以极大地提高图表的可读性和吸引力。在设计图表时,考虑图例与其他图表元素(如标题、轴标签、刻度等)的协调性和一致性非常重要。plt.legend()是Matplotlib中不可或缺的一个函数,它使得我们能够轻松地为图表添加清晰、美观的图例。通过了解其基本用法和定制选项,你可以创建出既信息丰富又视觉上吸引人的图表。不断实践和探索,你将发现plt.legend()为你的数据可视化工作带来的无限可能。

这是2024年的第一篇博文,本来想写更好的内容,但是工作是越来越卷了,根本没有时间撰写更优质的博文,已经断更挺长时间了。借着今天修改代码中的图例,挤出时间写成文章,实属不易,干货不多,还望各位海涵。后面将继续更新专栏文章,回馈广大粉丝朋友。

好了,今天的学习就到这里,让我们下期再见。

参考:
https://blog.csdn.net/weixin_74850661/article/details/132949071

这篇关于【python】深入探索使用Matplotlib中的plt.legend()添加图例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/726982

相关文章

Spring排序机制之接口与注解的使用方法

《Spring排序机制之接口与注解的使用方法》本文介绍了Spring中多种排序机制,包括Ordered接口、PriorityOrdered接口、@Order注解和@Priority注解,提供了详细示例... 目录一、Spring 排序的需求场景二、Spring 中的排序机制1、Ordered 接口2、Pri

Springboot 中使用Sentinel的详细步骤

《Springboot中使用Sentinel的详细步骤》文章介绍了如何在SpringBoot中使用Sentinel进行限流和熔断降级,首先添加依赖,配置Sentinel控制台地址,定义受保护的资源,... 目录步骤 1: 添加 Sentinel 依赖步骤 2: 配置 Sentinel步骤 3: 定义受保护的

Python中Markdown库的使用示例详解

《Python中Markdown库的使用示例详解》Markdown库是一个用于处理Markdown文本的Python工具,这篇文章主要为大家详细介绍了Markdown库的具体使用,感兴趣的... 目录一、背景二、什么是 Markdown 库三、如何安装这个库四、库函数使用方法1. markdown.mark

一分钟带你上手Python调用DeepSeek的API

《一分钟带你上手Python调用DeepSeek的API》最近DeepSeek非常火,作为一枚对前言技术非常关注的程序员来说,自然都想对接DeepSeek的API来体验一把,下面小编就来为大家介绍一下... 目录前言免费体验API-Key申请首次调用API基本概念最小单元推理模型智能体自定义界面总结前言最

Python利用PIL进行图片压缩

《Python利用PIL进行图片压缩》有时在发送一些文件如PPT、Word时,由于文件中的图片太大,导致文件也太大,无法发送,所以本文为大家介绍了Python中图片压缩的方法,需要的可以参考下... 有时在发送一些文件如PPT、Word时,由于文件中的图片太大,导致文件也太大,无法发送,所有可以对文件中的图

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

如何使用Spring boot的@Transactional进行事务管理

《如何使用Springboot的@Transactional进行事务管理》这篇文章介绍了SpringBoot中使用@Transactional注解进行声明式事务管理的详细信息,包括基本用法、核心配置... 目录一、前置条件二、基本用法1. 在方法上添加注解2. 在类上添加注解三、核心配置参数1. 传播行为(

在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程

《在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程》本文介绍了在Java中使用ModelMapper库简化Shapefile属性转JavaBean的过程,对比... 目录前言一、原始的处理办法1、使用Set方法来转换2、使用构造方法转换二、基于ModelMapper

c++中std::placeholders的使用方法

《c++中std::placeholders的使用方法》std::placeholders是C++标准库中的一个工具,用于在函数对象绑定时创建占位符,本文就来详细的介绍一下,具有一定的参考价值,感兴... 目录1. 基本概念2. 使用场景3. 示例示例 1:部分参数绑定示例 2:参数重排序4. 注意事项5.