我正在绘制与matplotlib.patches
矩形的集合。我的代码是:如何获取matplotlib中的像素颜色?
import matplotlib.pyplot as plt
import matplotlib.patches as patches
fig = plt.figure(figsize=(14, 10))
for i in rectangles_list:
ax1 = fig.add_subplot(111, aspect='equal')
ax1.add_patch(patches.Rectangle(
(x[i], y[i]),
width[i],
height[i],
alpha = 1.0,
facecolor = colors_list[i]
)
)
plt.show()
矩形可能重叠,因此其中一些可能会完全隐藏。你知道是否有可能获得可见矩形的颜色?我的意思是矩形的颜色并不完全隐藏,因此用户可以真正看到。我在想一些可以返回像素颜色的函数,但是更加聪明的想法是值得欢迎的。如果可能的话,我宁愿不使用PIL。不幸的是,我无法在互联网上找到任何解决方案。
我不不认为有matplotlib做内置方法。但是,您可能会发现[形体](https://pypi.python.org/pypi/Shapely)有用。 (请参阅[union](http://toblerity.org/shapely/manual.html#object.union)和[contains](http://toblerity.org/shapely/manual.html#object.contains)。) – unutbu
无法运行你的代码,缺少'rectangles_list'。如何减少alpha值,以便您可以查看顶部矩形后面的任何内容。 – hashmuke
我认为应该可以通过'numpy'将'fig.canvas.tostring_argb()'包装到ARGB数组中以获得所有屏幕上的颜色。现在不确定要继续,但可能是一个开始。 –