锋哥原创的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()
运行显示: