Matplotlib - 轴范围
什么是轴范围?
Matplotlib 中的轴范围指的是图表中沿 x 轴和 y 轴显示的值范围。这些范围决定了图表区域内可见的数据,并由每个轴上显示的最小值和最大值定义。
自定义 Matplotlib 中的轴范围可以更好地控制图表中可见的数据,从而强调特定范围或模式以增强可视化效果。
关于轴范围的关键点
X 轴和 Y 轴范围 − 可以独立调整 x 轴和 y 轴的范围,以显示数据的特定部分。
设置范围 − 我们可以使用函数如 plt.xlim() 和 plt.ylim(),或者在使用轴对象时使用等效方法 ax.set_xlim() 和 ax.set_ylim() 来手动设置轴范围。
自动范围 − 默认情况下,Matplotlib 库会根据提供的数据自动计算并设置轴范围。然而,手动调整可以聚焦于特定数据范围或增强可视化效果。
轴范围的使用场景
放大或缩小 − 通过调整轴范围在图表中放大或缩小,以聚焦于数据的特定部分。
数据强调 − 突出显示数据的特定范围,以强调模式或趋势。
避免杂乱 − 我们可以调整图表轴的范围,以防止数据点重叠,从而改善图表某些部分的视觉效果。
轴范围的关键概念
以下是图表轴范围的关键概念。我们来详细了解每一个概念。
X 轴范围
轴范围中的 x-range 指的是图表中沿 x 轴显示的值的跨度。它通过定义该维度中显示的数据范围来确定水平轴上可见的最小值和最大值。
在 Matplotlib 库中,我们可以使用 plt.xlim() 或 ax.set_xlim() 来设置 x 轴范围,以指定 x 轴的限制。这允许我们控制沿 x 轴显示的数据范围。
控制轴范围中的 x-range 提供了灵活性,可以可视化 x 轴上的特定数据段,从而更好地解释和分析绘制的图形信息。
示例 - 使用 plt.xlim()
在这个示例中,plt.xlim(1, 5) 将 x 轴限制设置为从 1 到 5,通过定义图表中可见的 x-range 来覆盖 x 轴上 1 到 5 之间的数据点。
import matplotlib.pyplot as plt
# 示例数据
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
# 创建图表
plt.plot(x, y)
# 设置 x 轴限制 (x-range)
plt.xlim(1, 5) # 设置 x 轴限制从 1 到 5
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Plot with Custom X-axis Range')
plt.show()
输出
示例 - 使用 ax.set_xlim()
这是一个演示使用 ax.set_xlim() 设置 x 轴限制的示例,当使用轴对象 ax 时。
import matplotlib.pyplot as plt
# 示例数据
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
# 创建图形和轴
fig, ax = plt.subplots()
# 在轴上绘图
ax.plot(x, y)
# 使用轴对象设置 x 轴限制
ax.set_xlim(0, 6) # 设置 x 轴限制从 0 到 6
# 标签轴并添加标题
ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis')
ax.set_title('Plot with Custom X-axis Limits')
plt.show()
输出
Y 轴范围
在 Matplotlib 中设置 y 轴范围或限制允许我们指定图表垂直 y 轴上显示的值范围。我们可以控制 y 轴上显示的最小值和最大值,以聚焦于特定的数据范围或模式。在 Matplotlib 中设置 y 轴的范围或限制可以使用 plt.ylim() 函数或在使用轴对象 ax 时使用 ax.set_ylim() 方法。垂直 y 轴上显示的值范围。
设置 y 轴范围有助于聚焦于特定数据范围,突出趋势,并确保可视化强调 y 轴上数据相关部分。
示例 - 使用 plt.ylim() 设置 Y 轴范围
在这个示例中,plt.ylim(0, 12) 函数将 y 轴限制设置为从 0 到 12,通过指定 y 轴上显示的值范围。
import matplotlib.pyplot as plt
# 示例数据
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
# 创建图表
plt.plot(x, y)
# 设置 y 轴限制
plt.ylim(0, 12) # 设置 y 轴限制从 0 到 12
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Plot with Custom Y-axis Range')
plt.show()
输出
示例 - 在子图中使用 ax.set_ylim() 设置 Y 轴范围
当使用轴对象 ax 时,我们可以根据需求为特定子图设置 y 轴限制。
在这个示例中,ax.set_ylim(0, 20) 将 y 轴限制设置为从 0 到 20,专门针对子图或轴 ax。
import matplotlib.pyplot as plt
# 示例数据
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
# 创建子图
fig, ax = plt.subplots()
# 在轴上绘图
ax.plot(x, y)
# 使用轴对象设置 y 轴限制
ax.set_ylim(0, 20) # 设置 y 轴限制从 0 到 12
ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis')
ax.set_title('Plot with Custom Y-axis Range')
plt.show()
输出
更改 X 轴和 Y 轴的范围
这个示例更改了 X 轴和 Y 轴的范围,我们可以使用 xlim() 和 ylim() 方法。
示例 - 更改 X 轴和 Y 轴的范围
import numpy as np import matplotlib.pyplot as plt plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True x = np.linspace(-15, 15, 100) y = np.sin(x) plt.plot(x, y) plt.xlim(-10, 10) plt.ylim(-1, 1) plt.show()
输出
