周学会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()

运行显示:

相关推荐
Z1Jxxx6 分钟前
整除整除整除
开发语言·c++·算法
superman超哥8 分钟前
自定义迭代器的实现方法:深入Rust迭代器机制的核心
开发语言·后端·rust·编程语言·rust迭代器机制·自定义迭代器
2501_921649499 分钟前
主流金融数据API对比:如何获取精准、及时的IPO数据
开发语言·python·金融·restful
superman超哥11 分钟前
IntoIterator Trait的转换机制:解锁Rust迭代器生态的关键
开发语言·后端·rust·编程语言·rust trait·rust迭代器·trait转换机制
墨月白11 分钟前
【QT】 Lambda 表达式
开发语言·qt
没有天赋那就反复12 分钟前
JAVA length
java·开发语言·算法
逑之16 分钟前
C语言笔记13:数据在内存中的存储
c语言·开发语言·笔记
不会c嘎嘎18 分钟前
QT中的常用控件 (四)
开发语言·qt
bing.shao19 分钟前
AI在电商上架图片领域的应用
开发语言·人工智能·golang
栈与堆23 分钟前
LeetCode-88-合并两个有序数组
java·开发语言·数据结构·python·算法·leetcode·rust