matplotlib中矩形/图的边界

时间:2014-10-25 04:47:22

标签: python-2.7 matplotlib matplotlib-basemap

我正在尝试使用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

1 个答案:

答案 0 :(得分:0)

我设置ec='none'祝你好运。边缘用一条线(有一个点的厚度)绘制,这样会产生一些不精确的重叠 顺便说一句:如果你想要精确的尺寸和类似边缘的效果,你总是可以在一个不同颜色的矩形(用ec='none')上面放一个稍小的彩色矩形。

相关问题