首页  >  文章  >  后端开发  >  如何在 Matplotlib 中手动添加具有不同颜色和标签的图例?

如何在 Matplotlib 中手动添加具有不同颜色和标签的图例?

Susan Sarandon
Susan Sarandon原创
2024-10-22 15:09:03478浏览

How to Manually Add Legends in Matplotlib with Distinct Colors and Labels?

在 Matplotlib 中手动创建图例

在 matplotlib 中处理大型数据集时,手动将具有不同颜色和标签的项目添加到图例可以成为一项有用的技术。这可以防止自动将数据包含到图中而产生重复。

原始方法

原始方法尝试使用以下代码:

ax2.legend(self.labels, colorList[:len(self.labels)])
plt.legend()

其中 self.labels 是所需图例标签的数量, colorList 是绘图中使用的颜色的子集。但是,此方法在图例中没有生成任何条目。

解决方案

要手动创建图例,matplotlib 文档中的图例指南提供了一个解决方案。它涉及创建一个特殊的艺术家,称为补丁,它可以用作图例中的句柄。

import matplotlib.patches as mpatches
import matplotlib.pyplot as plt

# Create a red patch
red_patch = mpatches.Patch(color='red', label='The red data')

这个补丁现在代表红色数据,可以直接添加到图例中。

plt.legend(handles=[red_patch])

添加多个补丁

要添加多种颜色和标签,可以通过创建其他补丁来应用相同的技术。

blue_patch = mpatches.Patch(color='blue', label='The blue data')
plt.legend(handles=[red_patch, blue_patch])

这将生成一个包含两个条目的图例,每个补丁一个条目。

以上是如何在 Matplotlib 中手动添加具有不同颜色和标签的图例?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn