我有一个包含10,000多个Matplotlib多边形对象的列表。每个多边形属于20个组中的1个。我想通过将每个唯一组映射到唯一颜色来区分多边形所属的组。
这里有一些与我的问题类似的帖子: 使用python matplotlib为多边形填充多种颜色 如何在Matplotlib中根据变量填充多边形颜色? 如何在Matplotlib中为矩形设置颜色? 这些解决方案只是为列表中的每个形状应用随机颜色。这不是我要找的。对我而言,属于特定组的每个形状应该具有相同的颜色。有什么建议吗?
示例代码:
请注意,如果您运行此代码,它将无法工作,因为poly_vertices和poly_colors尚未定义。现在,只需假设poly_vertices是多边形顶点的列表,而poly_colors是RGB颜色的列表,并且每个列表都有10000个条目。
例如:poly_vertices [0] = [(0, 0),(1,0),(0,1)],colors [0] = [1,0,0]
谢谢!
这里有一些与我的问题类似的帖子: 使用python matplotlib为多边形填充多种颜色 如何在Matplotlib中根据变量填充多边形颜色? 如何在Matplotlib中为矩形设置颜色? 这些解决方案只是为列表中的每个形状应用随机颜色。这不是我要找的。对我而言,属于特定组的每个形状应该具有相同的颜色。有什么建议吗?
示例代码:
from matplotlib.collections import PatchCollection
from matplotlib.patches import Polygon
from matplotlib import pyplot as plt
patches = []
colors = []
num_polys = 10000
for i in range(num_polys):
patches.append(Polygon(poly_vertices[i], closed=True))
colors.append(poly_colors[i]) # This line is pointless, but I'm letting you know that
# I have a particular color for each polygon
fig, ax = plt.subplots()
p = PatchCollection(patches, alpha=0.25)
ax.add_collection(p)
ax.autoscale()
plt.show()
请注意,如果您运行此代码,它将无法工作,因为poly_vertices和poly_colors尚未定义。现在,只需假设poly_vertices是多边形顶点的列表,而poly_colors是RGB颜色的列表,并且每个列表都有10000个条目。
例如:poly_vertices [0] = [(0, 0),(1,0),(0,1)],colors [0] = [1,0,0]
谢谢!