【深度学习】 Python 和 NumPy 系列教程(十三):Matplotlib详解:1、2d绘图(上):折线图、散点图、柱状图、直方图、饼图

目录

一、前言

二、实验环境

三、Matplotlib详解

0、绘图风格

1、2d绘图类型

[0. 设置中文字体](#0. 设置中文字体)

[1. 折线图(Line Plot)](#1. 折线图(Line Plot))

[2. 散点图(Scatter Plot)](#2. 散点图(Scatter Plot))

[3. 柱状图(Bar Plot)](#3. 柱状图(Bar Plot))

[4. 直方图(Histogram)](#4. 直方图(Histogram))

[5. 饼图(Pie Chart)](#5. 饼图(Pie Chart))


一、前言

Python是一种高级编程语言,由Guido van Rossum于1991年创建。它以简洁、易读的语法而闻名,并且具有强大的功能和广泛的应用领域。Python具有丰富的标准库和第三方库,可以用于开发各种类型的应用程序,包括Web开发、数据分析、人工智能、科学计算、自动化脚本等。

Python本身是一种伟大的通用编程语言,在一些流行的库(numpy,scipy,matplotlib)的帮助下,成为了科学计算的强大环境。本系列将介绍Python编程语言和使用Python进行科学计算的方法,主要包含以下内容:

  • Python:基本数据类型、容器(列表、元组、集合、字典)、函数、类
  • Numpy:数组创建、数组操作、数组数学、广播
  • Matplotlib:2d绘图、3d绘图、图表自定义、多子图和布局
  • IPython:创建笔记本、典型工作流程

二、实验环境

|------------|--------|---|
| matplotlib | 3.5.3 | |
| numpy | 1.21.6 | |
| python | 3.7.16 | |

  • 运行下述命令检查Python版本
bash 复制代码
 python --version 
  • 运行下述代码检查Python、NumPy、Matplotlib版本
python 复制代码
import sys
import numpy as np
import matplotlib

print("Python 版本:", sys.version)
print("NumPy 版本:", np.__version__)
print("matplotlib 版本:", matplotlib.__version__)

三、Matplotlib详解

Matplotlib是一个用于创建数据可视化的Python库。它提供了广泛的绘图选项,能够生成各种类型的图表、图形和可视化效果。下面是Matplotlib的一些主要功能:

  1. 绘图风格和类型:Matplotlib支持各种绘图风格和类型,包括线图、散点图、柱状图、饼图、等高线图、3D图等,可以根据需要选择适合的图表类型来展示和分析数据。

  2. 数据可视化:Matplotlib使得将数据转化为可视化表示变得简单,可以使用Matplotlib绘制图表来展示数据的分布、趋势、关系等,这有助于更好地理解数据和发现潜在的模式和关联。

  3. 图表自定义:Matplotlib提供了丰富的图表自定义选项,可以调整图表的标题、标签、坐标轴、线条样式、颜色等。这使得您能够创建符合特定需求和品味的高质量图表。

  4. 多子图和布局:Matplotlib允许您在单个图像中创建多个子图,以便同时展示多个相关的图表或数据视图。您可以自定义子图的布局和排列,以满足特定的展示需求。

  5. 导出图像:Matplotlib支持将图像导出为多种格式,包括PNG、JPEG、PDF、SVG等。这使得您可以方便地将生成的图表保存为文件,或嵌入到文档、报告和演示文稿中。

无论是进行科学研究、数据分析、报告撰写还是可视化展示,Matplotlib都是一个强大而灵活的工具。它广泛应用于各个领域,如数据科学、机器学习、金融分析、工程可视化等。

1、2d绘图类型

0. 设置中文字体

python 复制代码
import matplotlib

matplotlib.rcParams['font.family'] = 'Microsoft YaHei'  # 设置为微软雅黑字体
matplotlib.rcParams['font.sans-serif'] = ['SimHei']     # 设置中文字体为黑体

若不进行该设置,会报错字体缺失

1. 折线图(Line Plot)

用于显示连续数据的趋势和变化

python 复制代码
import matplotlib.pyplot as plt


x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

# 绘制折线图
plt.plot(x, y)

# 添加标题和标签
plt.title("折线图示例")
plt.xlabel("X轴")
plt.ylabel("Y轴")

# 显示图形
plt.show()

2. 散点图(Scatter Plot)

用于显示两个变量之间的关系和分布

python 复制代码
import matplotlib.pyplot as plt


x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

# 绘制散点图
plt.scatter(x, y)

# 添加标题和标签
plt.title("散点图示例")
plt.xlabel("X轴")
plt.ylabel("Y轴")

# 显示图形
plt.show()

3. 柱状图(Bar Plot)

用于比较不同类别的数据

python 复制代码
import matplotlib.pyplot as plt


x = ['A', 'B', 'C', 'D', 'E']
y = [10, 15, 7, 12, 9]

# 绘制柱状图
plt.bar(x, y)

# 添加标题和标签
plt.title("柱状图示例")
plt.xlabel("X轴")
plt.ylabel("Y轴")

# 显示图形
plt.show()

4. 直方图(Histogram)

用于显示数据的分布情况

python 复制代码
import matplotlib.pyplot as plt


data = [1, 1, 2, 3, 3, 3, 4, 4, 5, 6, 6, 7, 8, 8, 9]

# 绘制直方图
plt.hist(data)

# 添加标题和标签
plt.title("直方图示例")
plt.xlabel("数值")
plt.ylabel("频数")

# 显示图形
plt.show()

5. 饼图(Pie Chart)

用于显示数据的相对比例

python 复制代码
import matplotlib.pyplot as plt


labels = ['A', 'B', 'C', 'D', 'E']
sizes = [15, 30, 25, 10, 20]

# 绘制饼图
plt.pie(sizes, labels=labels, autopct='%1.1f%%')

# 添加标题
plt.title("饼图示例")

# 显示图形
plt.show()

其中,autopct参数用于显示每个扇区的百分比值

相关推荐
_.Switch14 分钟前
Python机器学习模型的部署与维护:版本管理、监控与更新策略
开发语言·人工智能·python·算法·机器学习
Hoper.J33 分钟前
PyTorch 模型保存与加载的三种常用方式
人工智能·pytorch·python
菜就多练_082836 分钟前
《深度学习》OpenCV 摄像头OCR 过程及案例解析
人工智能·深度学习·opencv·ocr
弱冠少年1 小时前
websockets库使用(基于Python)
开发语言·python·numpy
没有余地 EliasJie1 小时前
Windows Ubuntu下搭建深度学习Pytorch训练框架与转换环境TensorRT
pytorch·windows·深度学习·ubuntu·pycharm·conda·tensorflow
技术无疆2 小时前
【Python】Streamlit:为数据科学与机器学习打造的简易应用框架
开发语言·人工智能·python·深度学习·神经网络·机器学习·数据挖掘
羊小猪~~2 小时前
机器学习/数据分析--用通俗语言讲解时间序列自回归(AR)模型,并用其预测天气,拟合度98%+
人工智能·python·机器学习·数据挖掘·数据分析·回归·时序数据库
浊酒南街2 小时前
吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)2.7-2.8
人工智能·深度学习·神经网络
qq_273900232 小时前
解析TMalign文本文件中的转换矩阵
python·生物信息学
阿华的代码王国3 小时前
【JavaEE】——文件IO的应用
开发语言·python