从matplotlib中的PolyCollection中删除边线

时间:2015-02-02 16:06:25

标签: matplotlib

enter image description here我正在使用如下所示的行绘制一些数据:

poly = PolyCollection(vertices, array=s, edgecolors='w', linewidths=.0001)

有没有办法完全隐藏每个细胞周围的边缘线?上述行尝试通过将边缘颜色设置为白色和小线宽来实现此目的。然而,线条仍然出现。另外,将0传递给线宽似乎也不会这样做。

我还尝试将edgecolor设置为none,将linewidth设为0但未成功。

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

隐藏边缘有多种方法。感谢 Ajean 在评论中提供其他建议。

import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl

vertices = [
    [(0.2,0.2), (0.7,0.3), (0.1, 0.6)],
    [(0.5,0.5), (0.6 ,0.8), (0.8, 0.6)]
]

poly0 = mpl.collections.PolyCollection(vertices)
poly1 = mpl.collections.PolyCollection(vertices, edgecolor="none")
poly2 = mpl.collections.PolyCollection(vertices, linewidths=0)
poly3 = mpl.collections.PolyCollection(vertices, color="blue")

fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, figsize=(10,10))
ax1.add_collection(poly0)
ax2.add_collection(poly1)
ax3.add_collection(poly2)
ax4.add_collection(poly3)

plot