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

发布于:2025-08-11 ⋅ 阅读:(17) ⋅ 点赞:(0)

锋哥原创的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()

运行显示:


网站公告

今日签到

点亮在社区的每一天
去签到