Data Visualization

Matplotlib进阶:用线连接散点图

Spread the love

散点图是可视化两个变量之间关系的强大工具。但是,有时通过连接数据点来增强可视化效果会很有帮助,从而突出趋势和模式。本教程探讨了在 Matplotlib 中实现此目标的几种方法,重点关注清晰度和最佳实践。

目录

组合 scatter()plot()

最直接的方法是同时使用 scatter()plot() 函数。这样可以独立控制点和连接线的显示效果。至关重要的是,确保在两个函数 *之后* 调用 plt.show() 以正确显示这两个元素。


import matplotlib.pyplot as plt
import numpy as np

# 样本数据
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 1, 3, 5])

# 创建散点图
plt.scatter(x, y, color='blue', label='数据点')

# 用线连接点
plt.plot(x, y, color='red', linestyle='-', linewidth=2, label='趋势线')

# 添加标签和图例
plt.xlabel("X轴")
plt.ylabel("Y轴")
plt.title("带有连接线的散点图")
plt.legend()

# 显示图形
plt.show()

使用 plot() 自定义线型

matplotlib.pyplot.plot() 函数提供了对线型美观的广泛控制。linestyle 属性允许您指定各种线型(实线、虚线、点线等),而其他参数如 colorlinewidth 则进一步细化了外观。可以添加标记以直接突出显示线上的数据点。


import matplotlib.pyplot as plt
import numpy as np

x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 1, 3, 5])

plt.plot(x, y, linestyle='--', color='green', marker='o', markersize=8, label='自定义线')
plt.xlabel("X轴")
plt.ylabel("Y轴")
plt.title("自定义线图")
plt.legend()
plt.show()

使用 zorder 控制图层顺序

组合使用 scatter()plot() 时,绘图顺序并不总是与执行顺序匹配。zorder 关键字参数控制绘图元素的堆叠顺序。较高的 zorder 值绘制在顶部。这对于确保即使散点图叠加在线上也能清晰可见至关重要。


import matplotlib.pyplot as plt
import numpy as np

x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 1, 3, 5])

# 线首先绘制,位于散点图的后面
plt.plot(x, y, zorder=1, color='purple', label='底层趋势')

# 散点图绘制在顶部
plt.scatter(x, y, zorder=2, color='orange', label='数据点')

plt.xlabel("X轴")
plt.ylabel("Y轴")
plt.title("使用 zorder 控制图层顺序")
plt.legend()
plt.show()

通过掌握这些技巧,您可以创建清晰、信息丰富且视觉上具有吸引力的可视化效果,有效地传达数据中的各个数据点和整体趋势。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注