首页 > 其他分享 >matplotlib之简介、总结

matplotlib之简介、总结

时间:2023-11-25 21:45:25浏览次数:31  
标签:总结 plt 简介 Matplotlib 图表 matplotlib 使用 np ax

Matplotlib 简介

Matplotlib 是一个用于绘制图表和可视化数据的 Python 库,由 John D. Hunter 于 2003 年创建。

它提供了广泛的绘图功能,适用于科学计算、数据分析、机器学习等领域。Matplotlib 是一个开源项目,广泛应用于科研、教育和工程等领域。

  是专⻔⽤于开发2D图表(包括3D图表)
  以渐进、交互式⽅式实现数据可视化

总体而言,Matplotlib 是一个强大的数据可视化工具,尤其适用于中小规模的数据集和对可视化定制要求较高的场景。它为用户提供了直观而灵活的绘图工具,并在科学计算和数据分析领域得到广泛应用。

Matplotlib 的主要特点包括:

  1. 广泛的图表类型: Matplotlib 支持多种图表类型,包括线图、散点图、柱状图、饼图、等高线图等,适用于不同类型的数据可视化需求。

  2. 高度可定制: 用户可以通过设置参数和使用不同的函数调整图表的样式、颜色、标签等,以满足个性化的需求。

  3. 直观而灵活: Matplotlib 的使用方式直观而灵活,可以通过简单的代码创建复杂的图表,同时支持高级用户进行更深层次的定制。

  4. 支持 LaTeX 公式: Matplotlib 允许在图表中嵌入 LaTeX 公式,方便科学文档的制作。

  5. 丰富的文档和社区支持: Matplotlib 有详细的文档和示例,而且有一个活跃的社区,用户可以在社区中获取帮助和交流经验。

Matplotlib 优缺点

优点:

  1. 强大而灵活: Matplotlib 提供了丰富的功能和灵活的选项,适用于各种数据可视化场景。

  2. 跨平台: Matplotlib 可以在多个操作系统上运行,包括 Windows、Linux 和 macOS。

  3. 社区活跃: 作为一个开源项目,Matplotlib 有庞大的用户社区,提供了丰富的文档和示例,用户可以方便地获取支持。

  4. 与其他库集成: Matplotlib 可以与其他 Python 数据科学库(如 NumPy、Pandas、SciPy)无缝集成,使得数据处理和可视化更加便利。

缺点:

  1. 默认样式较为简单: Matplotlib 默认的样式在一些场景下可能显得较为简单,但用户可以通过定制化来改变图表的外观。

  2. 某些操作相对繁琐: 在一些特定的需求下,Matplotlib 的操作可能相对繁琐,尤其是对于初学者而言。

  3. 不适用于大规模数据集: 对于大规模数据集的可视化,Matplotlib 在性能方面可能相对较慢,因此在处理大数据时可能需要考虑其他库或工具。

 

Matplotlib 基础

1. 安装 Matplotlib:

使用以下命令进行安装:pip install matplotlib

2. 导入 Matplotlib:

在使用 Matplotlib 之前,需要导入库:import matplotlib.pyplot as plt

示例:绘制正弦函数图表

下面是一个简单的示例,演示如何使用 Matplotlib 绘制正弦函数的图表:

 1 import numpy as np
 2 import matplotlib.pyplot as plt
 3 
 4 # 1. 生成数据
 5 x = np.linspace(0, 2 * np.pi, 100)
 6 y = np.sin(x)
 7 
 8 # 2. 创建图表
 9 plt.figure(figsize=(8, 6))
10 
11 # 3. 绘制正弦函数曲线
12 plt.plot(x, y, label='sin(x)')
13 
14 # 4. 添加标题和标签
15 plt.title('Sine Function')
16 plt.xlabel('x')
17 plt.ylabel('sin(x)')
18 
19 # 5. 添加网格线
20 plt.grid(True)
21 
22 # 6. 添加图例即右上角的----sin(x)
23 plt.legend()
24 
25 # 7.显示图表
26 plt.show()

运行效果:

 

Matplotlib 详解

1. 生成数据:

使用 NumPy 生成数据,例如 linspace 函数用于生成一组等间隔的数据。

x = np.linspace(0, 2 * np.pi, 100)

2. 创建图表:

使用 plt.figure() 创建一个新的图表。

plt.figure(figsize=(8, 6))

figsize 参数指定图表的大小(长宽)。

plt.figure(figsize=(), dpi=)
  figsize:指定图的⻓宽
  dpi:图像的清晰度
  返回fig对象

3. 绘制曲线:

使用 plt.plot() 绘制曲线。

plt.plot(x, y, label='sin(x)')

4. 添加标题和标签:

使用 plt.title(), plt.xlabel(), plt.ylabel() 添加标题和轴标签。

plt.title('Sine Function')
plt.xlabel('x')
plt.ylabel('sin(x)')

5. 添加网格线:

使用 plt.grid(True) 添加网格线。

plt.grid(True)

6. 添加图例:

使用 plt.legend() 添加图例。

plt.legend()

7. 显示图表:

使用 plt.show() 显示图表。

plt.show()

这只是 Matplotlib 的基本使用示例,该库支持许多其他类型的图表和高级功能。

通过调整参数和使用不同的函数,您可以创建各种复杂的图表,满足数据可视化的不同需求。 Matplotlib 官方文档也提供了详细的说明和示例:Matplotlib 官方文档

 matplotlib最佳实践及示例

Matplotlib 最佳实践:

1. 使用 plt.subplots 创建图表和子图:

使用 plt.subplots 函数创建图表和子图,这样可以更方便地管理多个图表和子图。

fig, ax = plt.subplots(nrows=2, ncols=2, figsize=(10, 8))

2. 选择合适的图表类型:

Matplotlib 提供了多种图表类型,包括线图、散点图、柱状图等。选择合适的图表类型来展示数据的特征。

3. 使用标签和图例:

为图表添加标题、轴标签,以及使用 plt.legend() 添加图例,使得图表更具可读性。

plt.title('Title')
plt.xlabel('X-axis Label')
plt.ylabel('Y-axis Label')
plt.legend()

4. 调整颜色和样式:

使用 color 参数调整线条颜色,使用 linestyle 参数调整线条样式。

plt.plot(x, y, color='blue', linestyle='--', label='Line 1')

5. 添加注释和文本:

使用 plt.text()ax.annotate() 在图表中添加注释和文本。

plt.text(x, y, 'Annotation Text')

6. 保存图表:

使用 plt.savefig() 保存图表为图像文件,方便后续使用。

plt.savefig('figure.png', dpi=300, bbox_inches='tight')

综合示例:绘制多个子图

演示如何使用 Matplotlib 绘制多个子图:

import numpy as np
import matplotlib.pyplot as plt

# 生成数据
x = np.linspace(0, 2 * np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)

# 创建图表和子图
fig, ax = plt.subplots(nrows=2, ncols=1, figsize=(8, 8))

# 绘制第一个子图
ax[0].plot(x, y1, label='sin(x)', color='blue')
ax[0].set_title('Sine Function')
ax[0].legend()

# 绘制第二个子图
ax[1].plot(x, y2, label='cos(x)', color='red')
ax[1].set_title('Cosine Function')
ax[1].legend()

# 全局标题
fig.suptitle('Trigonometric Functions')

# 调整布局
plt.tight_layout()

# 显示图表
plt.show()

运行结果:

 

标签:总结,plt,简介,Matplotlib,图表,matplotlib,使用,np,ax
From: https://www.cnblogs.com/allenxx/p/17856162.html

相关文章

  • 2023-2024-1 20231424《计算机基础与程序设计》第9周学习总结
    2023-2024-120231424《计算机基础与程序设计》第9周学习总结作业信息作业属于的课程<班级链接>(2022-2023-1-计算机基础与程序设计)作业要求<作业要求>(2022-2023-1计算机基础与程序设计第一周作业)作业目标《计算机科学概论》第10,11章和《C语言程序设计》第8章......
  • 11.25每日总结
    Flash动画综合设计并发布、嵌入到网页    【作业要求】自己选定主题,创意制作Flash动画,并与网页进行集成【实验环境】l 所需硬件环境为微机;l 所需软件环境为Flash8.0【创意内容】在一个二界面里整合学习并且制作了三种动画,第一个是制作一个按钮,并且再......
  • 2023.11.25——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.大数据技术明日计划:学习......
  • 2023-2024-1 20232311 《网络空间安全导论》第3周学习总结
    2023-2024-120232311《网络空间安全导论》第3周学习教材内容学习总结网络空间安全导论第三章思维导图教材学习中的问题和解决过程问题1:不理解IP数据包结构问题1解决方案:询问chatgpt,令chatgpt举出了具体的示例以辅助理解问题2:不理解防火墙的具体原理问题2解决方案:查找了......
  • 数据库总结复习(并发控制三)
    目录前言封锁粒度概念多粒度封锁意向锁类型规则小结--引出问题索引锁前言本文为JMU22级数据库原理考前复习而总结归纳,刨除了课本以及课堂上晦涩且长篇大论的文章,以尽量简洁易懂的语句来对知识点进行归纳。继上一篇文章提到的“封锁粒度”接着对并发控制进行归纳总结。封锁......
  • SpringBoot2 仿B站的文章示例代码简介
    SpringBoot2仿B站的文章示例代码简介SpringBoot2是一个基于Java的开源框架,它可以帮助开发者快速构建应用程序。本文将介绍一个仿B站的文章示例代码,展示如何使用SpringBoot2构建一个简单的文章发布和展示平台。项目结构项目结构如下:java复制代码├──pom.xml......
  • 无涯教程-Linux - 简介
       UNIX操作系统,是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由肯·汤普逊、丹尼斯·里奇和道格拉斯·麦克罗伊于1969年在AT&T的贝尔实验室开发。目前它的商标权由国际开放标准组织所拥有,只有符合单一UNIX规范的UNIX系统才......
  • 整合驰骋工作流引擎的三种模式以及的优缺点总结
    什么是系统集成?1.当您需要把ccbpm的系统与您的系统或开发架构要一起工作的时候,我们就称为集成.2.集成步骤:功能应用方面的集成与组织结构的集成.3.组织结构集成是第一步,ccbpm有自己独立组织结构,可以独立运行,当与您的应用一起工作时才需要集成。组织结构集成.1.组织结构集成分......
  • 接口优化方案总结
    一级来源:https://toutiao.io/posts/0kwkbbt二级来源:https://mp.weixin.qq.com/s?__biz=MjM5NzMyMjUwMg==&mid=2247500397&idx=1&sn=1dfe1dfdd8374d326cd36db8366663dd大家好,最近看到京东云的一位大佬分享的接口优化方案,感觉挺不错的,拿来即用,本人也是直接收藏。建议收藏一波或者......
  • 2023-2024-1 20231402《计算机基础与程序设计》第9周学习总结
    2023-2024-120231402《计算机基础与程序设计》第9周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第9周作业这个作业的目标自学计算机科学概论第10章,《C语言程序设计》第8章教材学......