Python数据分析利器:matplotlib超详细基础介绍!

文摘   2024-12-25 08:01   云南  

在数据分析和科学计算的领域中,Python凭借其丰富的库和工具成为了众多数据科学家的首选。其中,matplotlib作为Python数据分析的“三剑客”之一,以其强大的功能和灵活的接口,成为了数据可视化的重要工具。本文将为大家带来matplotlib的超详细基础介绍,帮助大家快速上手并掌握这一利器。

一、matplotlib简介

matplotlib是Python中一个功能强大且非常流行的数据可视化库。它主要用于绘制二维图表,包括折线图、散点图、条形图、直方图、饼图等,同时支持部分3D绘图功能。通过图像,我们可以更加清晰、直观地展示数据,从而有利于数据分析。

二、matplotlib图像主要组成部分

  1. 画布(Figure):画布是所有绘制元素的顶级容器,可以将其视为一张白纸,供我们后期创作。

  2. 轴域(Axes):轴域是图中绘制数据的矩形区域,每个画布可以包含一个或多个轴,轴提供坐标系。

  3. 标题(Title):标题是一个文本元素,通常用于提供所绘图像的信息。

  4. 轴标签(x label, y label):标签是为x轴和y轴提供描述的文本元素,用于提供单位或其他相关信息。

  5. 网格线(Grid):网格线用于帮助读者对齐刻度线,从而更准确地读取数据点的位置和值。

三、matplotlib安装与导入

matplotlib可以通过pip进行安装,命令如下:

复制代码


pip install matplotlib

安装完成后,可以通过以下方式导入matplotlib:


import
 matplotlib.pyplot as plt

四、matplotlib基础绘图示例

  1. 创建空白画布

fig = plt.figure(figsize=(86), dpi=100, facecolor='c')  # 创建一个尺寸为(8,6),分辨率为100dpi,背景色为青色的画布
  1. 绘制折线图

import
 numpy as np



x = np.linspace(010100)  # 生成0到10之间的100个等间距点

y = np.sin(x)  # 计算y值



plt.plot(x, y, linestyle='-', color='b', label='sin(x)')  # 绘制折线图

plt.title('折线图示例')  # 添加标题

plt.xlabel('x轴')  # 添加x轴标签

plt.ylabel('y轴')  # 添加y轴标签

plt.legend()  # 显示图例

plt.grid(True)  # 显示网格线

plt.show()  # 显示图像
  1. 绘制散点图复制代码

    x = np.random.rand(50)  # 生成50个0到1之间的随机数

    y = np.random.rand(50)  # 生成50个0到1之间的随机数



    plt.scatter(x, y, color='r', marker='o')  # 绘制散点图

    plt.title('散点图示例')  # 添加标题

    plt.xlabel('x轴')  # 添加x轴标签

    plt.ylabel('y轴')  # 添加y轴标签

    plt.grid(True)  # 显示网格线

    plt.show()  # 显示图像
  1. 绘制条形图复制代码

    categories = ['A''B''C''D']

    values = [4718]



    plt.bar(categories, values, color='g')  # 绘制条形图

    plt.title('条形图示例')  # 添加标题

    plt.xlabel('类别')  # 添加x轴标签

    plt.ylabel('值')  # 添加y轴标签

    plt.grid(True)  # 显示网格线

    plt.show()  # 显示图像
  1. 绘制直方图

data = np.random.randn(1000)  # 生成1000个服从正态分布的随机数



plt.hist(data, bins=30, color='b', alpha=0.7)  # 绘制直方图

plt.title('直方图示例')  # 添加标题

plt.xlabel('值')  # 添加x轴标签

plt.ylabel('频率')  # 添加y轴标签

plt.grid(True)  # 显示网格线

plt.show()  # 显示图像

五、matplotlib高级功能

  1. 子图

fig, axs = plt.subplots(22)  # 创建一个2x2的子图网格



# 在每个子图上绘制图像

for
 ax in axs.flat:

ax.plot(x, y)

ax.set(title='子图', xlabel='x轴', ylabel='y轴')

ax.grid(True)



plt.tight_layout()  # 调整子图布局以避免重叠

plt.show()  # 显示图像
  1. 保存图像

plt.savefig('图像文件名.png')  # 将图像保存为PNG文件
  1. 设置图像样式

matplotlib提供了多种图像样式,可以通过plt.style.use()函数进行设置。例如:


plt.style.use('ggplot')  # 使用ggplot样式
  1. 3D绘图

matplotlib还支持部分3D绘图功能,需要使用mpl_toolkits.mplot3d模块。例如:


from
 mpl_toolkits.mplot3d import Axes3D



fig = plt.figure()

ax = fig.add_subplot(111, projection='3d')  # 创建一个3D轴域



x = np.linspace(-55100)

y = np.linspace(-55100)

X, Y = np.meshgrid(x, y)

Z = np.sin(np.sqrt(X**2 + Y**2))



ax.plot_surface(X, Y, Z, cmap='viridis')  # 绘制3D曲面图

plt.show()  # 显示图像

六、写在最后

matplotlib作为Python数据分析的重要工具之一,具有功能强大、易于上手和灵活多变的特点。通过本文的介绍,相信大家已经对matplotlib有了初步的了解,并能够掌握一些基础绘图功能。在实际应用中,可以根据具体需求选择合适的图表类型和参数设置,以更好地展示和分析数据。希望本文能够对大家有所帮助!


李不眠
给你讲最有趣的故事
 最新文章