offsetbox
matplotlib.offsetbox
OffsetBox — это простой контейнерный элемент. Элементы-потомки предназначены для отрисовки в относительном положении к родительскому элементу. [VH]Packer, DrawingArea и TextArea являются производными от OffsetBox.
[VH]Packer автоматически настраивает относительные позиции своих потомков, которые должны быть экземплярами OffsetBox. Это используется для выравнивания подобных элементов, например, в легенде.
DrawingArea может содержать любой элемент Artist в качестве потомка. DrawingArea имеет фиксированную ширину и высоту. Положение потомков относительно родительского элемента фиксировано. TextArea содержит один элемент Text. Ширина и высота TextArea равны ширине и высоте его дочернего элемента.
-
class matplotlib.offsetbox.AnchoredOffsetbox(loc, pad=0.4, borderpad=0.5, child=None, prop=None, frameon=True, bbox_to_anchor=None, bbox_transform=None, **kwargs) -
Базы:
matplotlib.offsetbox.OffsetBoxЭлемент offsetbox, размещаемый в соответствии с расположением легенды loc. AnchoredOffsetbox имеет единственный дочерний элемент. Если необходимо несколько дочерних элементов, используйте другие классы OffsetBox для их объединения. По умолчанию offsetbox привязан к родительским осям. Вы можете явно указать bbox_to_anchor.
loc — строка или целое число, определяющее расположение легенды. Допустимые коды расположения:
'upper right' : 1, 'upper left' : 2, 'lower left' : 3, 'lower right' : 4, 'right' : 5, 'center left' : 6, 'center right' : 7, 'lower center' : 8, 'upper center' : 9, 'center' : 10,
- pad : отступ вокруг дочернего элемента для отрисовки рамки. задается
- в долях от размера шрифта.
borderpad — отступ между рамкой offsetbox и bbox_to_anchor,
child — экземпляр OffsetBox, который будет привязан.
prop — свойства шрифта. Это используется только как ссылка для отступов.
frameon — отрисовывать рамку, если True.
bbox_to_anchor — область, к которой привязывается элемент. Если None, используется self.axes.bbox.
bbox_transform — с помощью какого преобразования будет преобразована bbox_to_anchor.
-
draw(renderer) -
отрисовать элемент
-
get_bbox_to_anchor() -
возвращает область, к которой привязана легенда
-
get_child() -
возвращает дочерний элемент
-
get_children() -
возвращает список дочерних элементов
-
get_extent(renderer) -
возвращает область элемента. Возвращается область дочернего элемента с добавленным отступом
-
get_window_extent(renderer) -
получить область в пространстве отображения.
-
set_bbox_to_anchor(bbox, transform=None) -
установить область, к которой будет привязан дочерний элемент.
bbox может быть экземпляром Bbox, списком [left, bottom, width, height] или списком [left, bottom], где предполагается, что ширина и высота равны нулю. Область будет преобразована в координаты отображения с помощью заданного преобразования.
-
set_child(child) -
установить привязанный дочерний элемент
-
update_frame(bbox, fontsize=None)
-
zorder = 5
-
class matplotlib.offsetbox.AnchoredText(s, loc, pad=0.4, borderpad=0.5, prop=None, **kwargs) -
Базы:
matplotlib.offsetbox.AnchoredOffsetboxAnchoredOffsetbox с Text.
Параметры: s : строка
Текст.
loc : строка
Код расположения.
pad : число с плавающей запятой, необязательно
Отступ между текстом и рамкой в долях от размера шрифта.
borderpad : число с плавающей запятой, необязательно
Отступ между рамкой и осями (или bbox_to_anchor).
prop :
matplotlib.font_manager.FontPropertiesСвойства шрифта.
Примечания
Допускаются и другие ключевые параметры
AnchoredOffsetbox.
-
class matplotlib.offsetbox.AnnotationBbox(offsetbox, xy, xybox=None, xycoords='data', boxcoords=None, frameon=True, pad=0.4, annotation_clip=None, box_alignment=(0.5, 0.5), bboxprops=None, arrowprops=None, fontsize=None, **kwargs) -
Базы:
matplotlib.artist.Artist,matplotlib.text._AnnotationBaseКласс, подобный Annotation, но с offsetbox вместо Text.
offsetbox : экземпляр OffsetBox
- xycoords : то же, что и в Annotation, но может быть кортежем из двух
- строк, которые интерпретируются как x- и y-координаты.
- boxcoords : аналогично textcoords в Annotation, но может быть
- кортежем из двух строк, которые интерпретируются как x- и y-координаты.
- box_alignment : кортеж из двух чисел с плавающей запятой для вертикального
- и горизонтального выравнивания offset box по отношению к boxcoords. В левом нижнем углу (0.0), в правом верхнем (1.1).
другие параметры идентичны параметрам Annotation.
-
anncoords
-
contains(event)
-
draw(renderer) -
Отрисовать объект
Annotationв заданном рендерере.
-
get_children()
-
get_fontsize(s=None) -
возвращает размер шрифта в пунктах
-
set_figure(fig)
-
set_fontsize(s=None) -
установить размер шрифта в пунктах
-
update_positions(renderer) -
Обновить пиксельные координаты аннотированной точки и текста.
-
xyann
-
zorder = 3
-
class matplotlib.offsetbox.AuxTransformBox(aux_transform) -
Базы:
matplotlib.offsetbox.OffsetBoxOffset Box с aux_transform. Его дочерние элементы будут преобразовываться с помощью aux_transform, а затем смещаться. Абсолютные координаты aux_transform важны, так как они будут автоматически настраиваться таким образом, чтобы левая нижняя точка области дочерних элементов устанавливалась в (0,0) перед применением преобразования смещения.
Он похож на DrawingArea, за исключением того, что размеры области не предопределены, а вычисляются из области окна его потомков. Кроме того, размеры потомков будут вычисляться в преобразованных координатах.
-
add_artist(a) -
Добавить любой
Artistв контейнер
-
draw(renderer) -
Отрисовать дочерние элементы
-
get_extent(renderer)
-
get_offset() -
возвращает смещение контейнера.
-
get_transform() -
Возвращает
Transform, применяемое к дочерним элементам
-
get_window_extent(renderer) -
получить область в пространстве отображения.
-
set_offset(xy) -
установить смещение контейнера.
Принимает : кортеж из x, y координат в единицах отображения.
-
set_transform(t) -
set_transform игнорируется.
-
-
class matplotlib.offsetbox.DraggableAnnotation(annotation, use_blit=False) -
Базы:
matplotlib.offsetbox.DraggableBase-
finalize_offset()
-
save_offset()
-
update_offset(dx, dy)
-
-
class matplotlib.offsetbox.DraggableBase(ref_artist, use_blit=False) -
Bases:
objectвспомогательный код для перетаскиваемого элемента (легенда, offsetbox) Производный класс должен переопределить следующие два метода.
- def saveoffset(self):
- pass
- def update_offset(self, dx, dy):
- pass
saveoffset вызывается, когда объект выбран для перетаскивания, и он предназначен для сохранения исходного положения элемента.
- update_offset вызывается во время перетаскивания. dx и dy — это пиксельное
- смещение от точки, с которой началось перетаскивание мышью.
По желанию вы можете переопределить следующие два метода.
- def artist_picker(self, artist, evt):
- return self.ref_artist.contains(evt)
- def finalize_offset(self):
- pass
- artist_picker — это метод выбора, который будет
- использован. finalize_offset вызывается, когда кнопка мыши отпускается. В текущей реализации DraggableLegend и DraggableAnnotation, update_offset размещает элементы просто в координатах отображения. А finalize_offset пересчитывает их положение в нормализованных координатах осей и устанавливает соответствующий атрибут.
-
artist_picker(artist, evt)
-
disconnect() -
отключить обратные вызовы
-
finalize_offset()
-
on_motion(evt)
-
on_motion_blit(evt)
-
on_pick(evt)
-
on_release(event)
-
save_offset()
-
update_offset(dx, dy)
-
class matplotlib.offsetbox.DraggableOffsetBox(ref_artist, offsetbox, use_blit=False) -
Bases:
matplotlib.offsetbox.DraggableBase-
get_loc_in_canvas()
-
save_offset()
-
update_offset(dx, dy)
-
-
class matplotlib.offsetbox.DrawingArea(width, height, xdescent=0.0, ydescent=0.0, clip=False) -
Bases:
matplotlib.offsetbox.OffsetBoxDrawingArea может содержать любой элемент Artist в качестве дочернего элемента. DrawingArea имеет фиксированную ширину и высоту. Положение дочерних элементов относительно родительского элемента фиксировано. Дочерние элементы могут быть обрезаны по границам родительского элемента.
width, height : ширина и высота контейнерного прямоугольника. xdescent, ydescent : спуск прямоугольника в направлениях x и y. clip : Выполнять ли обрезку дочерних элементов
-
add_artist(a) -
Добавить любой
Artistв контейнерный прямоугольник
-
clip_children -
Если дочерние элементы DrawingArea должны быть обрезаны по границам DrawingArea.
-
draw(renderer) -
Отрисовать дочерние элементы
-
get_extent(renderer) -
Возвращает ширину, высоту, xdescent, ydescent прямоугольника
-
get_offset() -
возвращает смещение контейнера.
-
get_transform() -
Возвращает
Transform, применяемое к дочерним элементам
-
get_window_extent(renderer) -
получить прямоугольник ограничительной рамки в пространстве отображения.
-
set_offset(xy) -
установить смещение контейнера.
Принимает: кортеж координат x, y в единицах отображения.
-
set_transform(t) -
set_transform игнорируется.
-
-
class matplotlib.offsetbox.HPacker(pad=None, sep=None, width=None, height=None, align='baseline', mode='fixed', children=None) -
Bases:
matplotlib.offsetbox.PackerBaseHPacker размещает свои дочерние элементы по горизонтали. Он автоматически корректирует относительные положения дочерних элементов во время отрисовки.
Parameters: pad : float, optional
Отступ от границ.
sep : float, optional
Интервал между элементами.
width : float, optional
height : float, optional
Ширина и высота контейнерного прямоугольника, вычисляются, если
None.align : str
Выравнивание прямоугольников.
mode : str
Режим размещения.
Notes
pad и sep должны быть заданы в пунктах и будут масштабироваться с разрешением рендерера, а width и height должны быть заданы в пикселях.
-
get_extent_offsets(renderer) -
обновляет смещение дочерних элементов и возвращает размеры прямоугольника
-
-
class matplotlib.offsetbox.OffsetBox(*args, **kwargs) -
Bases:
matplotlib.artist.ArtistOffsetBox — это простой контейнерный элемент. Дочерние элементы предназначены для отрисовки в относительном положении к родительскому элементу.
-
axes -
экземпляр
Axes, в котором находится элемент, или None.
-
contains(mouseevent)
-
draw(renderer) -
Обновить расположение дочерних элементов при необходимости и нарисовать их для данного renderer.
-
get_children() -
Возвращает список элементов, которые он содержит.
-
get_extent(renderer) -
Возвращает ширину, высоту, xdescent, ydescent прямоугольника
-
get_extent_offsets(renderer)
-
get_offset(width, height, xdescent, ydescent, renderer) -
Получить смещение
принимает размеры прямоугольника
-
get_visible_children() -
Возвращает список видимых элементов, которые он содержит.
-
get_window_extent(renderer) -
получить прямоугольник ограничительной рамки в пространстве отображения.
-
set_figure(fig) -
Установить фигуру
принимает экземпляр класса:
Figure
-
set_height(height) -
Установить высоту
принимает значение с плавающей точкой
-
set_offset(xy) -
Установить смещение
принимает x, y, кортеж или вызываемый объект.
-
set_width(width) -
Установить ширину
принимает значение с плавающей точкой
-
-
class matplotlib.offsetbox.OffsetImage(arr, zoom=1, cmap=None, norm=None, interpolation=None, origin=None, filternorm=1, filterrad=4.0, resample=False, dpi_cor=True, **kwargs) -
Bases:
matplotlib.offsetbox.OffsetBox-
draw(renderer) -
Отрисовать дочерние элементы
-
get_children()
-
get_data()
-
get_extent(renderer)
-
get_offset() -
возвращает смещение контейнера.
-
get_window_extent(renderer) -
получить прямоугольник ограничительной рамки в пространстве отображения.
-
get_zoom()
-
set_data(arr)
-
set_zoom(zoom)
-
-
class matplotlib.offsetbox.PackerBase(pad=None, sep=None, width=None, height=None, align=None, mode=None, children=None) -
Базы:
matplotlib.offsetbox.OffsetBoxПараметры: pad : float, необязательно
Поля границы.
sep : float, необязательно
Интервал между элементами.
width : float, необязательно
height : float, необязательно
Ширина и высота контейнерного поля, рассчитываются, если
None.align : str, необязательно
Выравнивание полей. Может быть одним из
top,bottom,left,right,centerиbaselinemode : str, необязательно
Режим укладки.
Примечания
pad и sep должны быть заданы в пунктах и будут масштабироваться с разрешением рендерера, а width и height — в пикселях.
-
class matplotlib.offsetbox.PaddedBox(child, pad=None, draw_frame=False, patch_attrs=None) -
Базы:
matplotlib.offsetbox.OffsetBoxpad : поля границы
Примечание
pad должны быть заданы в пунктах и будут масштабироваться с разрешением рендерера, а width и height — в пикселях.
-
draw(renderer) -
Обновить расположение дочерних элементов при необходимости и нарисовать их на заданном рендерере.
-
draw_frame(renderer)
-
get_extent_offsets(renderer) -
обновить смещение дочерних элементов и вернуть границы поля
-
update_frame(bbox, fontsize=None)
-
-
class matplotlib.offsetbox.TextArea(s, textprops=None, multilinebaseline=None, minimumdescent=True) -
Базы:
matplotlib.offsetbox.OffsetBoxTextArea содержит один экземпляр Text. Текст размещается в (0,0) с выравниванием по основанию и левому краю. Ширина и высота TextArea — это ширина и высота текста.
Параметры: s : str
строка для отображения.
textprops :
FontProperties, необязательноmultilinebaseline : bool, необязательно
Если
True, для многострочного текста смещение основания регулируется так, чтобы оно (приблизительно) центрировалось с однострочным текстом.minimumdescent : bool, необязательно
Если
True, поле имеет минимальное нисходящее смещение "p".-
draw(renderer) -
Отобразить дочерние элементы
-
get_extent(renderer)
-
get_minimumdescent() -
получить минимальное нисходящее смещение.
-
get_multilinebaseline() -
получить multilinebaseline.
-
get_offset() -
возвращает смещение контейнера.
-
get_text() -
Возвращает строковое представление текста этой области
-
get_window_extent(renderer) -
получить прямоугольник ограничительной рамки в пространстве отображения.
-
set_minimumdescent(t) -
Установить минимальное нисходящее смещение.
Если True, размеры однострочного текста корректируются так, чтобы он имел минимальное нисходящее смещение "p"
-
set_multilinebaseline(t) -
Установить multilinebaseline.
Если True, смещение основания многострочного текста регулируется так, чтобы оно (приблизительно) центрировалось с однострочным текстом.
-
set_offset(xy) -
установить смещение контейнера.
Принимает: кортеж координат x, y в единицах отображения.
-
set_text(s) -
Установить текст этой области как строку.
-
set_transform(t) -
set_transform игнорируется.
-
-
class matplotlib.offsetbox.VPacker(pad=None, sep=None, width=None, height=None, align='baseline', mode='fixed', children=None) -
Базы:
matplotlib.offsetbox.PackerBaseVPacker располагает свои дочерние элементы вертикально. Он автоматически корректирует относительные положения дочерних элементов во время рисования.
Параметры: pad : float, необязательно
Поля границы.
sep : float, необязательно
Интервал между элементами.
width : float, необязательно
height : float, необязательно
Ширина и высота контейнерного поля, рассчитываются, если
None.align : str, необязательно
Выравнивание полей.
mode : str, необязательно
Режим укладки.
Примечания
pad и sep должны быть заданы в пунктах и будут масштабироваться с разрешением рендерера, а width и height — в пикселях.
-
get_extent_offsets(renderer) -
обновить смещение дочерних элементов и вернуть границы поля
-
-
matplotlib.offsetbox.bbox_artist(*args, **kwargs)
© 2012–2016 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
http://matplotlib.org/1.5.3/api/offsetbox_api.html