Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 27, 2014 22:26:06

__Ak1m__
Зарегистрирован: 2013-02-04
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Matplotlib. Прямоугольник, залитый цветом и заштрихованный.

Здравствуйте. Нужно нарисовать жёлтый прямоугольник с синей штриховкой. Проблема в том, что свойство edgecolor переписывается свойством color. Как решить данную проблему? В идеале нужно ещё, чтобы цвет штриховки не зависел от цвета граней.

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
from pylab import *
fig = plt.figure()
ax1 = fig.add_subplot(111)
rect1 = Rectangle((0,0),10,10, color = 'yellow', edgecolor = 'blue', hatch = '/')
ax1.add_patch(rect1)
show()

При выполнении кода в консоли выводится предупреждение:
C:\Python27\lib\site-packages\matplotlib\patches.py:87: UserWarning: Setting the 'color' property will overridethe edgecolor or facecolor properties. 
  warnings.warn("Setting the 'color' property will override"

Офлайн

#2 Авг. 27, 2014 23:52:47

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Matplotlib. Прямоугольник, залитый цветом и заштрихованный.

Не то свойство.

Rectangle((0,0),10,10, facecolor = 'yellow', edgecolor = 'blue', hatch = '/')
http://matplotlib.org/api/patches_api.html#matplotlib.patches.Rectangle

Офлайн

#3 Авг. 28, 2014 08:51:56

__Ak1m__
Зарегистрирован: 2013-02-04
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Matplotlib. Прямоугольник, залитый цветом и заштрихованный.

Спасибо большое. Разобрался и как отключить прорисовку сторон прямоугольника.

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
from pylab import *
fig = plt.figure()
ax1 = fig.add_subplot(111)
rect1 = Rectangle((0,0),10,10, facecolor = 'yellow', edgecolor = 'blue', hatch = '/')
rect1.set_linewidth(0)
ax1.add_patch(rect1)
plt.axis('equal')
show()

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version