matplotlib基本绘图

matplotlib基本绘图

简介

Matplotlib 是 Python 中一个流行的绘图库,用于创建各种静态、动态和交互式的图表。

本文将通过一系列完整的案例来教授如何使用 Matplotlib 进行数据可视化。

环境准备

  1. 安装 matplotlib,在 Python 环境中安装 matplotlib:

    pip install numpy matplotlib seaborn
    
  2. 安装完成后,可以验证是否安装成功:

    import matplotlib
    print(matplotlib.__version__)  # 输出版本号,例如:3.10.1
    
  3. 解决中文不能正常显示

    import matplotlib.pyplot as plt
    
    # 解决中文无法正常显示问题
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.rcParams['axes.unicode_minus'] = False
    
    # 配置matplotlib支持中文字体和LaTeX数学符号
    plt.rcParams.update({
         
         
        # 设置字体优先使用中文字体(SimHei黑体),同时保留serif字体用于LaTeX数学符号
        "font.family": ["SimHei", "serif"],
        # 使用Computer Modern字体渲染数学符号
        "mathtext.fontset": "cm",
        # 解决坐标轴中负号显示问题,确保负号正确显示
        "axes.unicode_minus": False,
        # 不强制使用外部LaTeX,依赖matplotlib内置的数学表达式渲染
        "text.usetex": False,
    })
    
    
import matplotlib.pyplot as plt
import numpy as np



# ---------------------------
# 第一部分:全局配置
# ---------------------------
# 设置中文显示(解决中文乱码问题)

plt.rcParams['font.sans-serif'] = ['SimHei']  # 设置字体为黑体
plt.rcParams['axes.unicode_minus'] = False  # 解决符号显示问题

# 配置matplotlib支持中文字体和LaTeX数学符号
plt.rcParams.update({
   
   
    # 设置字体优先使用中文字体(SimHei黑体),同时保留serif字体用于LaTeX数学符号
    "font.family": ["SimHei", "serif"],
    # 使用Computer Modern字体渲染数学符号
    "mathtext.fontset": "cm",
    # 解决坐标轴中负号显示问题,确保负号正确显示
    "axes.unicode_minus": False,
    # 不强制使用外部LaTeX,依赖matplotlib内置的数学表达式渲染
    "text.usetex": False,
})

1:简单折线图绘制

描述:

使用 matplotlib 创建一个简单的折线图,展示函数 y = x² 的曲线。要求设置标题、坐标轴标签、网格线,并为折线添加数据标记。

步骤:

  1. 导入必要的库。
  2. 准备数据。
  3. 使用 plt.plot() 方法绘制图表。
  4. 添加标题和标签。
  5. 显示图表。

代码示例:

import matplotlib.pyplot as plt
import numpy as np

# 配置matplotlib支持中文字体和LaTeX数学符号
plt.rcParams.update({
   
   
    # 设置字体优先使用中文字体(SimHei黑体),同时保留serif字体用于LaTeX数学符号
    "font.family": ["SimHei", "serif"],
    # 使用Computer Modern字体渲染数学符号
    "mathtext.fontset": "cm",
    # 解决坐标轴中负号显示问题,确保负号正确显示
    "axes.unicode_minus": False,
    # 不强制使用外部LaTeX,依赖matplotlib内置的数学表达式渲染
    "text.usetex": False,
})

# 生成数据
x = np.arange(1, 11)  # x轴数据:1到10的整数
y = x ** 2           # y轴数据:x的平方

# 创建图形和坐标轴
# 使用matplotlib的figure函数创建一个图形窗口,设置窗口的大小为宽12英寸、高6英寸
plt.figure(figsize=(12,6))

# 绘制折线图,添加标记和样式
# 调用plt.plot函数绘制折线图,以x为x轴数据,y为y轴数据,设置折线的颜色为蓝色(color='blue'),线型为实线(linestyle='-'),并为每个数据点添加圆圈标记(marker='o')
plt.plot(x, y, marker='o', linestyle='-', color='blue', label=r'$y = x^2$')
# plt.plot(x, y, marker='o', linestyle='-', color='blue', label='y = x²')  # 直接写²

# 添加标题和标签
# 设置图表的标题
plt.title('平方函数折线图', fontsize=15)
# 设置x轴的标签为'x 轴'
plt.xlabel('X值', fontsize=12)
# 设置y轴的标签为'y 轴'
plt.ylabel('Y值 (X²)', fontsize=12)

# 添加网格和图例
# 显示网格线,设置网格线的线型为虚线(linestyle='--'),透明度为0.7(alpha=0.7)
plt.grid(True, linestyle='--', alpha=0.7)
plt.legend()  # 显示图例

# 显示图形
plt.tight_layout()  # 自动调整布局
plt.show()

matplotlib折线图

2:多线图对比分析

描述:

创建一个双 Y 轴图表,同时展示正弦函数 sin(x) 和余弦函数 cos(x) 的曲线。要求使用不同颜色区分两条线,并为每个 Y 轴添加对应的标签。

import matplotlib.pyplot as plt  # 导入matplotlib的pyplot模块用于绘制图形
import numpy as np               # 导入numpy库用于数值计算

# 配置matplotlib支持中文字体和LaTeX数学符号
plt.rcParams.update({
   
   
    # 设置字体优先使用中文字体(SimHei黑体),同时保留serif字体用于LaTeX数学符号
    "font.family": ["SimHei", "serif"],
    # 使用Computer Modern字体渲染数学符号
    "mathtext.fontset": "cm",
    # 解决坐标轴中负号显示问题,确保负号正确显示
    "axes.unicode_minus": False,
    # 不强制使用外部LaTeX,依赖matplotlib内置的数学表达式渲染
    "text.usetex": False,
})

# 生成数据
x = np.linspace(0, 10, 100)  # 生成0到10之间的100个等间距点
y1 = np.sin(x)               # 计算x的正弦值
y2 = np.cos(x)               # 计算x的余弦值

# 创建图形和双Y坐标轴
fig, ax1 = plt.subplots(figsize=(10, 6))  # 创建图形和主坐标轴,设置图形大小为10x6英寸

# 绘制正弦曲线(左Y轴)
color = 'tab:red'            # 设置正弦曲线颜色为红色
ax1.set_xlabel('X值', fontsize=12)       # 设置X轴标签
ax1.set_ylabel('正弦值', color=color, fontsize=12)  # 设置左Y轴标签,颜色为红色
ax1.plot(x, y1, color=color, linewidth=2, label='正弦')  # 绘制正弦曲线,线宽为2
ax1.tick_params(axis='y', labelcolor=color)  # 设置左Y轴刻度颜色为红色

# 创建第二个Y轴(共享X轴)
ax2 = ax1.twinx()  # 创建第二个Y轴,与ax1共享X轴

# 绘制余弦曲线(右Y轴)
color = 'tab:blue'         # 设置余弦曲线颜色为蓝色
ax2.set_ylabel('余弦值', color=color, fontsize=12)  # 设置右Y轴标签,颜色为蓝色
ax2.plot(x, y2, color=color, linewidth=2, label='余弦')  # 绘制余弦曲线,线宽为2
ax2.tick_params(axis='y', labelcolor=color)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李昊哲小课

桃李不言下自成蹊

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值