周学会Matplotlib3 Python 数据可视化-绘制折线图(Lines)

锋哥原创的Matplotlib3 Python数据可视化视频教程:

2026版 Matplotlib3 Python 数据可视化 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili

课程介绍

本课程讲解利用python进行数据可视化 科研绘图-Matplotlib,学习Matplotlib图形参数基本设置,绘图参数及主要函数,以及Matplotlib基础绘图,和Matplotlib高级绘图。

绘制折线图(Lines)

折线图是数据可视化中最常用的图表类型之一,特别适合展示数据随时间或有序类别的变化趋势。

plt.plot() 是 Matplotlib 中最核心的函数之一,用于创建二维线图(折线图)。它功能强大且灵活,支持多种数据格式和样式定制。以下是全面解析:

复制代码
plt.plot(*args, scalex=True, scaley=True, data=None, **kwargs)

核心参数:

参数 说明
x x轴数据(可省略,默认为0, 1, ..., len(y)-1)
y y轴数据(必需)
fmt 格式字符串,控制线条样式(颜色、标记、线型)
**kwargs 其他样式参数(覆盖fmt设置)

格式字符串(fmt)详解

格式字符串由三部分组成:[颜色][标记][线型],例如 'ro--' 表示红色圆圈标记的虚线

1. 颜色字符

字符 颜色
'b' 蓝色
'g' 绿色
'r' 红色
'c' 青色
'm' 品红
'y' 黄色
'k' 黑色
'w' 白色

2. 标记字符

字符 标记
'.' 点
'o' 圆圈
's' 正方形
'D' 菱形
'^' 上三角形
'v' 下三角形
'*' 星号
'+' 加号
'x' 叉号

3. 线型字符

字符 线型
'-' 实线(默认)
'--' 虚线
'-.' 点划线
':' 点线
'None' 无线条

**常用关键字参数(`**kwargs`)**

参数 说明 示例
color / c 线条颜色 color='skyblue', c='#FF5733'
linestyle / ls 线型 linestyle='dotted'
linewidth / lw 线宽 linewidth=2.5
marker 标记样式 marker='D'
markersize / ms 标记大小 markersize=8
markerfacecolor / mfc 标记填充色 markerfacecolor='red'
markeredgecolor / mec 标记边缘色 markeredgecolor='black'
alpha 透明度 alpha=0.7
label 图例标签 label='Temperature'

我们看一个简单示例:

复制代码
import matplotlib.pyplot as plt
import numpy as np
​
# 创建数据
x = np.linspace(0, 10, 100)  # 0到10之间的100个点
y = np.sin(x)
​
# 创建图形
plt.figure(figsize=(10, 6))
​
# 绘制折线图
plt.plot(x, y,
         label='sin(x)',  # 图例标签
         color='royalblue',  # 线条颜色
         linewidth=2,  # 线条宽度
         linestyle='-',  # 线条样式(实线)
         alpha=0.8)  # 透明度
​
# 添加标题和标签
plt.title('基本正弦波', fontsize=14)
plt.xlabel('X-轴', fontsize=12)
plt.ylabel('Y-轴', fontsize=12)
plt.grid(True, linestyle='--', alpha=0.7)  # 添加网格
plt.legend()  # 显示图例
​
plt.tight_layout()
plt.show()

我们在看一个画多条折线图示例:

复制代码
import matplotlib.pyplot as plt
import numpy as np
​
# 创建数据
x = np.linspace(0, 10, 100)  # 0到10之间的100个点
y = np.sin(x)
​
plt.figure(figsize=(10, 6))
​
# 创建多条曲线
plt.plot(x, np.sin(x), label='sin(x)', color='#1f77b4', linewidth=2)
plt.plot(x, np.cos(x), label='cos(x)', color='#ff7f0e', linewidth=2)
plt.plot(x, np.sin(x) * np.cos(x), label='sin(x)cos(x)', color='#2ca02c',
         linestyle='--', linewidth=2)
​
# 添加标题和标签
plt.title('三角函数比较', fontsize=14)
plt.xlabel('角度(弧度)', fontsize=12)
plt.ylabel('函数值', fontsize=12)
​
# 添加网格和图例
plt.grid(True, linestyle=':', alpha=0.6)
plt.legend(loc='upper right', fontsize=10)
​
# 设置坐标轴范围
plt.xlim(0, 10)
plt.ylim(-1.2, 1.2)
​
plt.tight_layout()
plt.show()

运行显示:

相关推荐
默_笙3 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
小羊没烦恼!3 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
qq_426003963 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫3 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技3 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读3 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
只睡四小时3 天前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas
C语言小火车3 天前
C/C++ 为什么需要编译器?
开发语言·c++
奇思妙想聪明勤奋的小羊3 天前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型
lpfasd1233 天前
2026年第38周GitHub趋势周报
python·科技·github