我正在尝试使用matplotlib中的patches.rectangle创建一组图形,但似乎矩形边界中的模糊会导致一些重叠。例如,如果我使用这两个绿色矩形:
http://puu.sh/cpzFw/fe6ed8834d.png
(我没有让代表直接插入图片)
我不知道如何消除界限。另外,我如何将其调整到子图坐标,因为情节也是如此。
谢谢!
编辑: 对不起,这是一些示例代码:
for i in range(nrows):
for (count, num) in enumerate(listx[2 * i + 1]):
if count == 0:
rect_start = count
elif num == listx[2 * i + 1][count-1]:
length += 1
elif listx[2 * i + 1][count] != listx[2 * i + 1][count-1]:
if listx[2 * i + 1][count-1] == '0':
r1 = ptch.Rectangle((rect_start,i), length, 1, color="blue", fill=True)
rect.add_patch(r1)
length = 1
rect_start = count
if listx[2 * i + 1][count-1] == '1':
r1 = ptch.Rectangle((rect_start,i), length, 1, color="black", fill=True)
rect.add_patch(r1)
length = 1
rect_start = count
if listx[2 * i + 1][count-1] == '2':
r1 = ptch.Rectangle((rect_start,i), length, 1, color="red", fill=True)
rect.add_patch(r1)
length = 1
rect_start = count
if listx[2 * i + 1][count-1] == '3':
r1 = ptch.Rectangle((rect_start,i), length, 1, color="green", fill=True)
rect.add_patch(r1)
length = 1
rect_start = count
if not listx[2 * i + 1][count-1].isdigit():
r1 = ptch.Rectangle((rect_start,i), length, 1, color="yellow", fill=True)
rect.add_patch(r1)
length = 1
rect_start = count
答案 0 :(得分:0)
我设置ec='none'
祝你好运。边缘用一条线(有一个点的厚度)绘制,这样会产生一些不精确的重叠
顺便说一句:如果你想要精确的尺寸和类似边缘的效果,你总是可以在一个不同颜色的矩形(用ec='none'
)上面放一个稍小的彩色矩形。