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

运行显示:

相关推荐
jimy112 分钟前
c++的 Type Traits (二、更详细版本)
开发语言·c++
狗凯之家源码网27 分钟前
纯 PHP+MySQL 应用市场系统源码实测!
开发语言·mysql·php
ch62331 分钟前
《AI 辅助编程实战:从零跑通一个 Excel 报表生成脚本的踩坑与复盘》
人工智能·python
dishugj38 分钟前
系统架构风险点、敏感点和权衡点的概念和区分
java·开发语言
geovindu1 小时前
rust:Memento Pattern(续)
开发语言·后端·设计模式·rust·行为模式·备忘录模
import_random1 小时前
[python]conda和pip(区别和联系2)
python
马优晨1 小时前
JAVA 中 VO 实体类是什么意思,为什么要做这个
java·开发语言·状态模式·java vo·java vo是什么
Aurorar0rua1 小时前
CS50 x 2024 Notes Python - 01
开发语言·python·学习方法
用户6602676118792 小时前
备注接口返回成功,数据库却没变:怎样限定一次修复的范围?
python
Dumbness2 小时前
用 Python + UI Automation 读写微信 PC 版:一个群消息自动回复程序的实现与踩坑
python