2014-10-25 3 views
0

Я пытаюсь создать набор графиков с использованием patches.rectangle в matplotlib, но кажется, что размытие в границах прямоугольника вызывает некоторое перекрытие. Например, если я использую эти два зеленых прямоугольников:Границы прямоугольников/графиков в matplotlib

http://puu.sh/cpzFw/fe6ed8834d.png

(у меня не было респ непосредственно вставить изображение)

Я не уверен, как удалить границы. Кроме того, как бы я адаптировал это значение к координатам подзадачи, как это и делает сюжет.

Спасибо!

EDIT: К сожалению, вот несколько примеров кода:

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 
+3

Просьба представить минимальный пример кода для воспроизведения вашего изображения. – farenorth

ответ

0

Я имел хорошую настройку ec='none' удачи. Край нарисован линией (которая имеет толщину в точках), так что это приведет к некоторому неточному перекрытию.
BTW: Если вам нужен точный размер и краевой эффект, вы всегда можете поместить немного меньший цветной прямоугольник поверх прямоугольника другого цвета (оба с ec='none').

Смежные вопросы