Python使用Matplotlib实现根据矩形交集自动切换线条颜色的方法

凌晨两点半
凌晨两点半
发布时间:2026-10-13| 2人浏览过
原创

本文介绍如何利用Python的Matplotlib库,通过判断随机生成的线条是否与指定矩形区域相交,来动态设置线条颜色。代码示例展示了使用Path类的intersects_bbox方法,实现相交线条显示为红色、不相交线条显示为蓝色的效果,并附带完整可运行代码及性能数据。

在生成的图形中,与矩形区域存在交集的线条将被渲染为红色,其余未相交的线条则显示为蓝色。

具体效果演示如下:

实现该功能的Python代码如下:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.transforms import Bbox
from matplotlib.path import Path

# Fixing random state for reproducibility
np.random.seed(19680801)


left, bottom, width, height = (-1, -1, 2, 2)
rect = plt.Rectangle((left, bottom), width, height, facecolor="#aaaaaa")

fig, ax = plt.subplots()
ax.add_patch(rect)

bbox = Bbox.from_bounds(left, bottom, width, height)

for i in range(12):
  vertices = (np.random.random((2, 2)) - 0.5) * 6.0
  path = Path(vertices)
  if path.intersects_bbox(bbox):
    color = 'r'
  else:
    color = 'b'
  ax.plot(vertices[:, 0], vertices[:, 1], color=color)

plt.show()

脚本执行耗时:0分0.026秒

总结

以上即为Python实现根据矩形交集动态改变线条颜色的完整代码示例,希望能对读者有所帮助。如需了解更多相关知识,欢迎继续查阅本站提供的其他技术文章:

Python竟然能绘制如此精美的花卉图案(附代码分享)

Python实战:使用pygal库绘制世界地图实例

Python Matplotlib绘图教程:如何绘制带有颜色条的图表

若内容存在疏漏,欢迎在评论区留言指正。感谢各位朋友对本网站的支持!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。