当前位置: 首页 > news >正文

Python数据可视化再探——Matplotlib模块 之二

目录

第二章 图表绘制和美化技巧

一、在一张画布上绘制四张图表​

1. subplots函数示例

2. subplot函数示例

二、添加图表元素​

1. 图表标题​

2. 坐标轴标题​

3. 图例​

4. 数据标签​

三、设置网格线​

1. 显示网格线​

2. 网格线参数​

四、调整坐标值的刻度范围​

1. 设置 x 轴刻度范围​

2. 设置 y 轴刻度范围​

3. 自动调整刻度​

五、章节内容总结​

六、随堂练习题​


第二章 图表绘制和美化技巧

一、在一张画布上绘制四张图表​

在 Matplotlib 中,通过subplot或subplots函数可以实现在同一画布上绘制多个图表,方便进行数据对比与分析。​

1. subplots函数示例

import matplotlib.pyplot as plt
import numpy as np# 创建一个2x2的子图布局
fig, axs = plt.subplots(2, 2, figsize=(10, 8))# 生成示例数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.exp(x)
y4 = np.log(x + 1)# 绘制第一张图:正弦曲线
axs[0, 0].plot(x, y1)
axs[0, 0].set_title('Sin Curve')# 绘制第二张图:余弦曲线
axs[0, 1].plot(x, y2)
axs[0, 1].set_title('Cos Curve')# 绘制第三张图:指数曲线
axs[1, 0].plot(x, y3)
axs[1, 0].set_title('Exp Curve')# 绘制第四张图:对数曲线
axs[1, 1].plot(x, y4)
axs[1, 1].set_title('Log Curve')# 调整子图间距
plt.tight_layout()
plt.show()

通过上面的案例,我们答题了解了如何在一张画布上同时绘制多张图表的技巧。

以下是使用subplots函数的示例代码,假设我们要在同一画布上绘制两个子图,一个折线图和一个柱状图。首先导入必要的库:import matplotlib.pyplot as plt,import numpy as np。接着创建画布和子图对象:fig, (ax1, ax2) = plt.subplots(1, 2)。然后在第一个子图ax1上绘制折线图:x = np.linspace(0, 10, 100); y = np.sin(x); ax1.plot(x, y); ax1.set_title('折线图'); ax1.set_xlabel('X轴'); ax1.set_ylabel('Y轴') 。在第二个子图ax2上绘制柱状图:categories = ['A', 'B', 'C']; values = [10, 15, 7]; ax2.bar(categories, values); ax2.set_title('柱状图'); ax2.set_xlabel('类别'); ax2.set_ylabel('数值') 。最后展示图表:plt.show() 。

通过上述示例,我们掌握了subplots函数的使用方法。而subplot函数同样能实现多图绘制,它的使用方式稍有不同,下面我们来看具体的subplot函数示例。

使用subplot函数时,需要依次指定行数、列数和当前子图的编号,例如在2行2列的布局中绘制第3个子图,可以使用plt.subplot(2, 2, 3)。

下面通过一个在同一画布上绘制四个子图的例子,展示subplot函数的具体使用方法。 假设我们要在同一画布上绘制四个子图,分别展示正弦函数、余弦函数的折线图,以及两个不同数据集的柱状图。同样先导入必要的库:import matplotlib.pyplot as plt,import numpy as np。接下来,我们通过plt.subplot函数依次创建四个子图并进行绘制。 ​

2. subplot函数示例

import matplotlib.pyplot as plt
import nump

相关文章:

  • 计算机视觉与深度学习 | Matlab实现EMD-GWO-SVR、EMD-SVR、GWO-SVR、SVR时间序列预测(完整源码和数据)
  • 分布式ID生成器:原理、对比与WorkerID实战
  • 【PTA】 520 钻石争霸赛 2025
  • 基于springboot的个人博客系统【附源码】
  • 多通道振弦式数据采集仪MCU安装指南
  • 蓝桥杯5130 健身
  • go.mod:5: unknown directive: toolchain
  • MySQL--day4--排序与分页
  • Unity 喷烟喷气特效:喷快消失慢
  • 【EI会议火热征稿中】第二届云计算与大数据国际学术会议(ICCBD 2025)
  • 多线程下如何保证事务的一致性
  • 第十节第一部分:常见的API:Math、System、Runtime
  • 电鸿系统Arm板修改IP
  • 使用Jenkins部署SpringBoot项目
  • 划分权重(01背包利用)纯暴力解决填空
  • 深度学习之用CelebA_Spoof数据集搭建一个活体检测-用MNN来推理时候如何利用Conan对软件包进行管理
  • 嵌入式自学第二十四天(5.20)
  • 门店管理五大痛点解析:如何用数字化系统实现高效运营
  • 如何理解大模型的幻觉输出及RAG技术的应用与实战案例
  • 机器人拖动示教控制
  • 上海地铁:一孩童鞋子卡于电梯梯级处,其间未造成人员受伤
  • 凤阳文旅局长回应鼓楼瓦片脱落:楼宇是否属于文物?施工经费用在何处?
  • 北方今年首场高温过程开启,西北华北黄淮多地最高或达40℃
  • 《缶翁的世界》首发:看吴昌硕等湖州籍书画家的影响
  • 陶石不语,玉见文明:临平玉架山考古博物馆明日开馆
  • 坚决打好产业生态培育攻坚战!陈吉宁调研奉贤区