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

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
http://www.xdnf.cn/news/7725.html

相关文章:

  • 香港科技大学(广州)智能制造理学硕士招生宣讲会——深圳大学专场
  • Android 万能AI证件照 v1.3.2
  • Python打卡训练营day27-函数-装饰器
  • 数据要素如何重构人力资本升级
  • HTML页面渲染过程
  • 【Linux】第二十三章 控制启动过程
  • 汇川PLC通过Profinet转ModbusTCP网关读取西门子PLC数据案例
  • 【c# 中 == 和jave 的== 区别】
  • idea中,git的cherry-pick怎么用
  • Linux:库与链接
  • 基于Qwen3-7B FP8与基石智算打造高性能本地智能体解决方案
  • 佰力博科技与您浅谈低温介电材料特性及应用分析
  • 基于 STM32 单片机的实验室多参数安全监测系统设计与实现
  • 怎样解决photoshop闪退问题
  • OpenCV图像边缘检测
  • 第12天-Python+Qt5开发实战:10大经典案例与深度解析
  • JVM的面试相关问题
  • C++修炼:map和set的使用
  • TrollStore(巨魔商店)的由来介绍
  • 【typenum】 13 类型级无符号整型(uint.rs)
  • 分频电路设计
  • 中级网络工程师知识点9
  • 目标检测DINO-DETR(2023)详细解读
  • 【Linux】Linux 多线程
  • Java 中 final 与 static 的区别
  • 关于element-ui的table type=“expand“ 嵌套表格展开异常问题解决方案
  • 【C# 自动化测试】Selenium显式等待机制详解
  • Docker网络全景解析:Overlay与Macvlan深度实践,直通Service Mesh集成核心
  • 三轴云台之高精度稳定技术篇
  • 什么是 ERP、MES、PLM,生产制造中如何应用