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使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python编译pyc文件的过程解析

    python编译pyc文件的过程解析

    pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,这篇文章主要介绍了python编译pyc文件,需要的朋友可以参考下
    2021-09-09
  • 关于PyQt5主窗口图标显示问题汇总

    关于PyQt5主窗口图标显示问题汇总

    这篇文章主要介绍了关于PyQt5主窗口图标显示问题汇总,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Python中常用的GUI(图形用户界面)库用法详细介绍

    Python中常用的GUI(图形用户界面)库用法详细介绍

    GUI图形用户界面是一种允许用户通过图形元素(如图标、按钮、窗口等)与电子设备进行交互的用户界面,下面这篇文章主要给大家介绍了关于Python中常用的GUI(图形用户界面)库用法的相关资料,需要的朋友可以参考下
    2024-08-08
  • 解决pycharm导入本地py文件时,模块下方出现红色波浪线的问题

    解决pycharm导入本地py文件时,模块下方出现红色波浪线的问题

    这篇文章主要介绍了解决pycharm导入本地py文件时,模块下方出现红色波浪线的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • pybind11和numpy进行交互的方法

    pybind11和numpy进行交互的方法

    这篇文章主要介绍了pybind11和numpy进行交互的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-07-07
  • Python如何输出百分比

    Python如何输出百分比

    这篇文章主要介绍了Python 如何输出百分比,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Python2和Python3读取文本文件的区别及说明

    Python2和Python3读取文本文件的区别及说明

    这篇文章主要介绍了Python2和Python3读取文本文件的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • python实现拓扑排序的方法步骤

    python实现拓扑排序的方法步骤

    拓扑排序是对有向无环图进行排序的一种算法,本文主要介绍了python实现拓扑排序的方法步骤,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • 在Python中封装GObject模块进行图形化程序编程的教程

    在Python中封装GObject模块进行图形化程序编程的教程

    这篇文章主要介绍了在Python中封装GObject模块进行图形化程序编程的教程,本文来自于IBM官方网站技术文档,需要的朋友可以参考下
    2015-04-04
  • Python 等分切分数据及规则命名的实例代码

    Python 等分切分数据及规则命名的实例代码

    这篇文章主要介绍了Python 等分切分数据及规则命名的实例代码,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08

最新评论