📜  在 python 中使用 matplotlib(1)

📅  最后修改于: 2023-12-03 14:51:05.339000             🧑  作者: Mango

在 Python 中使用 Matplotlib

简介

Matplotlib 是一个用于绘制各种静态、动态、交互式图表的 Python 库。它最初是 John D. Hunter 在他的博士论文中开发的,目的是提供能够在 Python 中生成高品质图表的工具。Matplotlib 的优点包括支持各种图表类型、可自定义的图表样式、易于使用及兼容 NumPy 数学库。

安装

使用 pip 安装 Matplotlib:

pip install matplotlib
入门示例

下面是 Matplotlib 的基本示例,可以用它绘制一条简单的正弦曲线。

import numpy as np
import matplotlib.pyplot as plt

# 定义 x 轴范围
x = np.linspace(-np.pi, np.pi, 100)

# 计算 sin(x) 和 cos(x)
sin_y = np.sin(x)
cos_y = np.cos(x)

# 绘制 sin(x) 曲线
plt.plot(x, sin_y, label='sin(x)')

# 绘制 cos(x) 曲线
plt.plot(x, cos_y, label='cos(x)')

# 设置图表标题
plt.title('Sin(x) and Cos(x)')

# 设置 x 轴标签
plt.xlabel('X-axis')

# 设置 y 轴标签
plt.ylabel('Y-axis')

# 添加图例
plt.legend()

# 展示图表
plt.show()

运行结果:

image-2021111695539002

常用图表类型
  • 散点图

    x = np.random.randn(1000)
    y = np.random.randn(1000)
    plt.scatter(x, y)
    

    image-2021111700250170

  • 直方图

    x = np.random.randn(1000)
    plt.hist(x, bins=50)
    

    image-2021111700262633

  • 条形图

    data = {'apple': 10, 'orange': 5, 'lemon': 8}
    plt.bar(range(len(data)), list(data.values()), align='center')
    plt.xticks(range(len(data)), list(data.keys()))
    

    image-2021111700271750

  • 箱型图

    data = np.random.randn(100, 5)
    plt.boxplot(data)
    

    image-2021111700303176

  • 饼图

    data = {'apple': 10, 'orange': 5, 'lemon': 8}
    plt.pie(list(data.values()), labels=list(data.keys()))
    

    image-2021111700320693

  • 线性回归曲线

    x = np.linspace(-np.pi, np.pi, 100)
    y = 2 * x + 1 + np.random.randn(100) * 0.3
    plt.plot(x, y, 'o')
    
    from scipy.optimize import curve_fit
    def linear_func(x, a, b):
        return a * x + b
    
    params, _ = curve_fit(linear_func, x, y)
    plt.plot(x, linear_func(x, *params), 'r-')
    

    image-2021111700343524

结语

Matplotlib 是一个非常强大的数据可视化库。本文介绍了一些基本示例,还有很多更丰富的用例可以尝试。如果你想学习更多的 Matplotlib 用法,可以查看官方文档: