Python大数据处理之matplotlib.pyplot初步使用

 更新时间:2025年08月20日 10:46:19   作者:qin_ling0407  
Matplotlib是Python中一个非常流行的数据可视化库,它提供了丰富的绘图工具,可以帮助我们轻松创建各种类型的图表,这篇文章主要介绍了Python大数据处理之matplotlib.pyplot初步使用的相关资料,需要的朋友可以参考下

提示:本文只介绍了pyplot的使用,非matplotlib全部内容

前言

本文介绍了Matplotlib数据可视化库的基本使用方法。主要内容包括:

1) 通过pyplot.plot()绘制基础图表;

2) 常用API详解,包括设置图片大小(figure)、调整坐标轴刻度(xticks)、中文显示配置、添加图表描述信息等;

3) 完整案例演示三天气温变化折线图的绘制过程,涵盖数据生成、图表样式设置、坐标轴调整、图例添加等关键步骤。

一、matplotlib

 matplotlib能将数据可视化,更直观的呈现;

使数据更加客观、更具说服力;

中文参考文档:

matplotlib — Matplotlib 3.10.3 文档 - Matplotlib 绘图库

二、基础演示

代码如下:

"""
matplotlib基础演示
"""
from matplotlib import pyplot as plt

x = list(range(2, 26, 2))
y = [15, 13, 14.5, 17, 20, 25, 26, 26, 27, 22, 18, 15]

# 设置图片大小
plt.figure(figsize=(20, 8), dpi=80)

# 绘图
plt.plot(x, y)

plt.show()

三、部分API

1. 设置图片大小

matplotlib.pyplot.figure,创建一个新图表,或激活一个现有图表。

部分参数:

figsize:(float, float),默认值:rcParams["figure.figsize"] (默认值:[6.4, 4.8])

宽度、高度,单位为英寸。

dpi:float,默认值:rcParams["figure.dpi"] (默认值:100.0)

图表的分辨率,单位为每英寸点数。

2. 调整x轴或y轴上的刻度

matplotlib.pyplot.xticks,获取或设置 x 轴当前的刻度位置和标签。

ticks:类数组,可选。x刻度位置列表。传入空列表将移除所有x刻度。

labels:类数组, 可选。放置在给定 ticks 位置的标签。此参数只能在同时传递 ticks 时使用。

rotation:float,默认值:0。刻度旋转度数,避免拥堵。

当刻度太密集,使用列表的步长(间隔取值)来解决

# 设置x轴刻度 设置为0.5间隔的
plt.xticks(list(i / 2 for i in range(4, 49))[::3])
# 设置y刻度值
plt.yticks(range(min(y), max(y) + 1))

刻度为字符串类型时,同时提供ticks和labels参数

# 设置x轴刻度(每10分钟显示一个标签)
_xtick_label = [f"10点{i}分" for i in range(60)] + [f"11点{i}分" for i in range(60)]
plt.xticks(list(x_data)[::5], _xtick_label[::5], rotation=45)  # 旋转45度避免重叠

3. 设置中文显示

import matplotlib

# 设置中文字体 & 负号
matplotlib.rcParams['font.family'] = 'MicroSoft YaHei'
matplotlib.rcParams['axes.unicode_minus'] = False

4. 添加描述信息

4.1 x、y轴的描述信息

matplotlib.pyplot.xlabel,设置 x 轴的标签。(y轴:matplotlib.pyplot.ylabel,参数相同)

xlabel:str,标签文本。

labelpad:float, 默认值: rcParams["axes.labelpad"] (默认值: 4.0)

从坐标轴边界框(包括刻度线和刻度标签)开始的间距(以点为单位)。如果为 None,则保留先前的值。

loc:{'left', 'center', 'right'}, 默认值: rcParams["xaxis.labellocation"] (默认值: 'center')

标签位置。这是传递参数 x 和 horizontalalignment 的高级替代方案。

4.2 图表标题

matplotlib.pyplot.title,为 Axes 设置标题。设置三个可用坐标轴标题之一。这些可用标题位于坐标轴上方,可居中、左对齐或右对齐。

label:字符串,用于标题的文本

loc:{'center', 'left', 'right'},默认值:rcParams["axes.titlelocation"](默认值:'center')

要设置的标题位置。

y:浮点数,默认值:rcParams["axes.titley"](默认值:None)

标题的垂直轴位置(1.0 为顶部)。如果为 None(默认值),且rcParams["axes.titley"](默认值:None)也为 None,则 y 会自动确定以避免轴上的装饰器。

pad:浮点数,默认值:rcParams["axes.titlepad"](默认值:6.0)

标题相对于坐标轴顶部的偏移量,以点为单位。

5. 图表绘制

matplotlib.pyplot.plot,将 y 对 x 绘制为线和/或标记。

调用:

  • plot([x], y, [fmt], *, data=None, **kwargs)
  • plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)

可以使用 Line2D 属性作为关键字参数,以更好地控制外观

6. 显示图例

matplotlib.pyplot.legend,在 Axes 上放置图例。

方式一

当您不传入任何额外参数时,要添加到图例中的元素将自动确定。

在这种情况下,标签取自 artist(plot设置参数label后返回的对象)

 也可以使用artist 上的 set_label() 方法来指定。

plt.plot(x_data, y_data, color='red', label='气温')

方式二

分别传递一个图例艺术对象的可迭代对象,后跟一个图例标签的可迭代对象。

plt.legend([line1, line2, line3], ['label1', 'label2', 'label3'])

方式三

类似于方法2,但标签取自艺术对象的标签属性。

line1, = plt.plot([1, 2, 3], label='label1') line2, = plt.plot([1, 2, 3], label='label2') plt.legend(handles=[line1, line2])

四、案例

"""
绘制三天的10点到12点每分钟的气温
"""

from matplotlib import pyplot as plt
import random
from datetime import datetime, timedelta

# 设置中文字体 & 负号
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

# 生成数据
start_time = datetime.strptime("10:00", "%H:%M")  # 起始时间10:00
x_data = [(start_time + timedelta(minutes=i)).strftime("%H:%M") for i in range(120)]  # 生成10:00-12:00的hh:mm格式时间
y_data1 = [random.randint(10, 30) for _ in range(120)]  # 随机生成10-30℃的气温数据
y_data2 = [random.randint(10, 30) for _ in range(120)]  # 随机生成10-30℃的气温数据
y_data3 = [random.randint(10, 30) for _ in range(120)]  # 随机生成10-30℃的气温数据


# 设置图形大小
plt.figure(figsize=(15, 5), dpi=100)

# 绘制折线图
plt.plot(x_data, y_data1, color='red', linestyle='-', linewidth=1, marker='.', markersize=5, label="one")
plt.plot(x_data, y_data2, color='#00FF00', linestyle='-.', linewidth=1, marker='.', markersize=5, label="two")
plt.plot(x_data, y_data3, color='#87CEEB', linestyle=':', linewidth=1, marker='.', markersize=5, label="three")

# 设置x轴刻度(每10分钟显示一个标签)
plt.xticks(x_data[::10], rotation=45)  # 旋转45度避免重叠

# 添加标题和标签
plt.title("10:00-12:00每分钟气温变化", fontsize=14)
plt.xlabel("时间", fontsize=12)
plt.ylabel("温度(℃)", fontsize=12)
plt.grid(alpha=0.3)  # 半透明网格线
plt.legend()  # 显示图例

# 自动调整布局防止标签被截断
plt.tight_layout()

# 显示图形
plt.show()

总结

到此这篇关于Python大数据处理之matplotlib.pyplot初步使用的文章就介绍到这了,更多相关Python matplotlib.pyplot使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Pandas 类型转换astype()的实现

    Pandas 类型转换astype()的实现

    本文主要介绍了Pandas 类型转换astype()的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • python 去除二维数组/二维列表中的重复行方法

    python 去除二维数组/二维列表中的重复行方法

    今天小编就为大家分享一篇python 去除二维数组/二维列表中的重复行方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python 删除List元素的三种方法remove、pop、del

    Python 删除List元素的三种方法remove、pop、del

    这篇文章主要介绍了Python 删除List元素的三种方法remove、pop、del,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Python 异常处理的实例详解

    Python 异常处理的实例详解

    这篇文章主要介绍了Python 异常处理的实例详解的相关资料,希望通过本文能帮助到大家掌握Python 异常的知识,需要的朋友可以参考下
    2017-09-09
  • Python多方式分支switch case实现举例详解

    Python多方式分支switch case实现举例详解

    在许多编程语言(如 C、Java)中,switch-case是处理多分支条件的常用语法,这篇文章主要介绍了Python多方式分支switch case实现的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-06-06
  • python DataFrame数据分组统计groupby()函数的使用

    python DataFrame数据分组统计groupby()函数的使用

    在python的DataFrame中对数据进行分组统计主要使用groupby()函数,本文主要介绍了python DataFrame数据分组统计groupby()函数的使用,具有一定的参考价值,感兴趣的可以了解一下
    2022-03-03
  • Python中缓存入门实战之核心概念与用法详解

    Python中缓存入门实战之核心概念与用法详解

    缓存是提升程序性能的关键技术,可以大幅的降低响应时间,本文是Python 缓存的入门指南,涵盖核心概念、常用实现方式和实战案例,感兴趣的小伙伴可以了解下
    2026-01-01
  • Python函数参数匹配模型通用规则keyword-only参数详解

    Python函数参数匹配模型通用规则keyword-only参数详解

    Python3对函数参数的排序规则更加通用化了,即Python3 keyword-only参数,该参数即为必须只按照关键字传递而不会有一个位置参数来填充的参数。这篇文章主要介绍了Python函数参数匹配模型通用规则keyword-only参数,需要的朋友可以参考下
    2019-06-06
  • python和C++共享内存传输图像的示例

    python和C++共享内存传输图像的示例

    这篇文章主要介绍了python和C++共享内存传输图像的示例,帮助大家利用python处理图片,感兴趣的朋友可以了解下
    2020-10-10
  • 基于Python制作天眼查小程序的示例代码

    基于Python制作天眼查小程序的示例代码

    本文主要介绍了如何利用Python制作一个天眼查GUI程序。这次的GUI程序,我们使用的框架是PyQt5,该框架拥有比tkinter更为丰富的内置组件,在界面美化方面,貌似也更胜一筹,快跟随小编一起学起来吧
    2022-09-09

最新评论