【愚公系列】《Python网络爬虫从入门到精通》041-Matplotlib 图表的常用设置
| 标题 | 详情 |
|---|---|
| 作者简介 | 愚公搬代码 |
| 头衔 | 华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。 |
| 近期荣誉 | 2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主,2024年华为云十佳博主等。 |
| 博客内容 | .NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。 |
| 欢迎 | 👍点赞、✍评论、⭐收藏 |
文章目录
- 🚀前言
- 🚀一、Matplotlib 图表的常用设置
- 🔎1.基本绘图函数 `plot()`
- 🦋1.1 颜色设置
- 🦋1.2 线条样式 `linestyle`
- 🦋1.3 标记样式 `marker`
- 🦋1.4 综合应用示例
- 🦋1.5 其他常用设置
- 🦋1.7 注意事项
- 🔎2.设置画布
- 🦋2.1 `figure()` 函数语法与参数
- 🦋2.2 参数说明
- 🦋2.3 示例代码
- 🦋2.4 注意事项
- 🔎3.设置坐标轴
- 🦋3.1 轴标题设置
- 🦋3.3 坐标轴刻度设置
- 🦋3.3 坐标轴范围设置
- 🦋3.4 网格线设置
- 🦋3.5 注意事项与常见问题
- 🦋3.6 综合示例
- 🔎4.添加文本标签
- 🦋4.1 `text()` 函数语法与参数
- 🦋4.2 示例代码与解析
- 🦋4.3 关键参数说明
- 🦋4.4 注意事项
- 🦋4.5 扩展应用:标注特殊点
- 🔎5.设置标题和图例
- 🦋5.1 图表标题设置
- 🦋5.2 图例设置
- 🦋5.3 综合示例与代码
- 🦋5.4 注意事项
- 🔎6.添加注释
- 🦋6.1 `annotate()` 函数语法与核心参数
- 🦋6.2 坐标系统详解(`xycoords`)
- 🦋6.3 箭头样式设置(`arrowprops`)
- 🦋6.4 完整示例与代码解析
- 🦋6.5 扩展应用与注意事项
🚀前言
在数据可视化的过程中,图表的美观与易读性直接影响到数据传达的效果。Matplotlib作为Python中最流行的绘图库之一,提供了丰富的功能和灵活的设置选项,使得我们能够创建出专业且具有视觉冲击力的图表。然而,初学者常常会在图表设置上感到困惑,不知道如何调整图表的样式、颜色、标签及其他参数,以达到最佳的可视化效果。
在本篇文章《Matplotlib 图表的常用设置》中,我们将系统地介绍Matplotlib中常用的图表设置技巧。我们将涵盖图表的基本构建块,包括标题、坐标轴、图例、刻度以及颜色等方面的设置。通过具体的实例和代码示例,你将学会如何调整图表的各个细节,使其不仅能够有效传达信息,还能吸引观众的注意力。
🚀一、Matplotlib 图表的常用设置
🔎1.基本绘图函数 plot()
语法
matplotlib.pyplot.plot(x, y, format_string, **kwargs)
参数说明
| 参数 | 说明 |
|---|---|
x | x轴数据(列表/数组) |
y | y轴数据(列表/数组) |
format_string | 控制曲线格式的字符串(颜色+线条+标记,如 'ro--') |
**kwargs | 键值参数(如 linewidth=2, markersize=10) |
示例
import matplotlib.pyplot as plt
#折线图
#range()函数创建整数列表
x=range(1,15,1)
y=range(1,42,3)
plt.plot(x,y)
plt.show()

import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel('体温.xls') #导入Excel文件
#折线图
x =df['日期'] #x轴数据
y=df['体温'] #y轴数据
plt.plot(x,y)
plt.show()

🦋1.1 颜色设置
颜色参数 color
支持多种颜色表示方式:
| 代码 | 颜色 | 其他方式示例 |
|---|---|---|
'b' | 蓝色 | '#0000FF' |
'g' | 绿色 | (0, 1, 0)(RGB元组) |
'r' | 红色 | 'cyan'(颜色名称) |
'c' | 蓝绿色 | 0.5(灰度值) |
'm' | 洋红色 | 'xkcd:sky blue'(Xkcd颜色) |
'y' | 黄色 | 'tab:blue'(Tableau调色板) |
颜色循环设置
from cycler import cycler
colors = ['#1f77b4', '#ff7f0e', '#2ca02c']
plt.rcParams['axes.prop_cycle'] = cycler(color=colors)
🦋1.2 线条样式 linestyle
| 代码 | 样式 | 示例 |
|---|---|---|
'-' 或 'solid' | 实线(默认) | ![实线] |
'--' 或 'dashed' | 虚线 | ![虚线] |
':' 或 'dotted' | 点线 | ![点线] |
'-.' 或 'dashdot' | 点划线 | ![点划线] |
🦋1.3 标记样式 marker
| 代码 | 样式 | 说明 |
|---|---|---|
'o' | 圆圈 | 实心圆标记 |
's' | 正方形 | 实心正方形 |
'^' | 上三角形 | 倒三角标记 |
'D' | 菱形 | 大菱形标记 |
'*' | 星号 | 五角星标记 |
'h' | 六边形 | 竖六边形标记 |
标记修饰参数
markerfacecolor(mfc): 标记填充色(如mfc='w'白色填充)markeredgecolor(mec): 标记边缘颜色markersize(ms): 标记大小
🦋1.4 综合应用示例
绘制体温折线图
import pandas as pd
import matplotlib.pyplot as plt
fig=plt.figure(figsize=(5,3),facecolor='yellow')
#导入Excel文件
df=pd.read_excel('体温.xls')
#折线图
x=df['日期'] #x轴数据
y=df['体温'] #y轴数据
plt.plot(x,y,color='m',linestyle='-',marker='o',mfc='w')
plt.show()

🦋1.5 其他常用设置
坐标轴与标题
plt.xlabel("x轴标签"):设置x轴标签plt.ylabel("y轴标签"):设置y轴标签plt.title("图表标题"):设置标题
图例与注释
plt.legend(["图例说明"]):添加图例plt.text(x, y, "注释文本"):在指定坐标添加文本plt.annotate("注释", xy=(x,y), xytext=(x1,y1), arrowprops=dict(arrowstyle="->"))
调整边距
plt.subplots_adjust(left=0.1, right=0.9, top=0.9, bottom=0.1)
# 或自动调整
plt.tight_layout()
🦋1.7 注意事项
- 文件路径:确保Excel文件路径正确(如
体温.xls在代码同级目录)。 - 颜色值纠错:十六进制颜色
#FFFF00(黄色)而非#FFFFOO。 - 扩展功能:可结合Seaborn库美化图表,或使用
plt.style选择预置主题(如plt.style.use('ggplot'))。
🔎2.设置画布
🦋2.1 figure() 函数语法与参数
figure() 函数用于创建或激活画布,语法如下:
matplotlib.pyplot.figure(num=None, # 画布编号或名称figsize=None, # 画布尺寸dpi=None, # 分辨率facecolor=None, # 背景颜色edgecolor=None, # 边框颜色frameon=True # 是否显示边框
)
🦋2.2 参数说明
| 参数 | 类型 | 说明 | 默认值 | 示例 |
|---|---|---|---|---|
num | int 或 str | 画布标识符(编号或名称)。若 num 已存在,则激活该画布;否则新建画布。 | None | num=1 或 num='my_plot' |
figsize | tuple | 画布尺寸 (宽度, 高度),单位为英寸。 | None (默认 (6.4, 4.8)) | figsize=(8, 5) |
dpi | int | 分辨率(每英寸像素数),值越大图像越清晰。 | None (默认 100) | dpi=300 |
facecolor | str 或颜色代码 | 背景颜色(支持名称、十六进制、RGB元组等)。 | None (默认白色) | facecolor='#FFE4C4' |
edgecolor | str 或颜色代码 | 边框颜色。 | None (默认黑色) | edgecolor='blue' |
frameon | bool | 是否显示边框。 | True | frameon=False |
🦋2.3 示例代码
自定义黄色画布(尺寸 5x3 英寸)
import pandas as pd
import matplotlib.pyplot as plt
fig=plt.figure(figsize=(5,3),facecolor='yellow')
#导入Excel文件
df=pd.read_excel('体温.xls')
#折线图
x=df['日期'] #x轴数据
y=df['体温'] #y轴数据
plt.plot(x,y,color='m',linestyle='-',marker='o',mfc='w')
plt.show()

🦋2.4 注意事项
-
文件路径问题:
- 确保 Excel 文件
体温.xls存在于代码同级目录,或使用绝对路径(如r'C:\data\体温.xls')。 - 若文件读取失败,检查
pandas是否安装:pip install pandas openpyxl(需openpyxl支持.xls)。
- 确保 Excel 文件
-
颜色设置:
facecolor和edgecolor支持多种格式:颜色名称('red')、十六进制('#FF0000')、RGB 元组((1,0,0))。
-
画布与子图的关系:
- 使用
plt.figure()创建独立画布后,默认在当前画布上绘制图形。 - 若需多子图布局,可结合
plt.subplots()使用。
- 使用
-
分辨率与显示:
- 高
dpi值(如dpi=300)适合保存高清图像,但可能增加内存消耗。 - 某些 IDE 或 Jupyter Notebook 中,
plt.show()可能不会按figsize精确显示,
- 高
