Spec-Zone.ru › Matplotlib 2.1

contour

matplotlib.contour

Это классы для поддержки построения контуров и маркировки для класса Axes.

class matplotlib.contour.ClabelText(x=0, y=0, text='', color=None, verticalalignment='baseline', horizontalalignment='left', multialignment=None, fontproperties=None, rotation=None, linespacing=None, rotation_mode=None, usetex=None, wrap=False, **kwargs)

Базы: matplotlib.text.Text

В отличие от обычного текста, get_rotation возвращает обновленный угол в координатах пикселей, предполагая, что входной поворот — это угол в координатах данных (или любой установленной трансформации).

Создайте экземпляр Text в точке x, y со строкой text.

Допустимые значения kwargs:

Свойство Описание
agg_filter неизвестно
alpha число с плавающей точкой (от 0.0 — прозрачный до 1.0 — непрозрачный)
animated [True | False]
backgroundcolor любой цвет matplotlib
bbox свойства FancyBboxPatch
clip_box экземпляр matplotlib.transforms.Bbox
clip_on [True | False]
clip_path [ (Path, Transform) | Patch | None ]
color любой цвет matplotlib
contains функция-вызов
family или fontfamily или fontname или name [ШРИФТ | ‘serif’ | ‘sans-serif’ | ‘cursive’ | ‘fantasy’ | ‘monospace’ ]
figure экземпляр matplotlib.figure.Figure
fontproperties или font_properties экземпляр matplotlib.font_manager.FontProperties
gid строка идентификатора
horizontalalignment или ha [ ‘center’ | ‘right’ | ‘left’ ]
label строка или любой вывод с преобразованием ‘%s’
linespacing число с плавающей точкой (кратное размеру шрифта)
multialignment [‘left’ | ‘right’ | ‘center’ ]
path_effects неизвестно
picker [None|число с плавающей точкой|булево значение|функция-вызов]
position (x,y)
rasterized [True | False | None]
rotation [ угол в градусах | ‘vertical’ | ‘horizontal’ ]
rotation_mode неизвестно
size или fontsize [размер в пунктах | ‘xx-small’ | ‘x-small’ | ‘small’ | ‘medium’ | ‘large’ | ‘x-large’ | ‘xx-large’ ]
sketch_params неизвестно
snap неизвестно
stretch или fontstretch [числовое значение в диапазоне 0-1000 | ‘ultra-condensed’ | ‘extra-condensed’ | ‘condensed’ | ‘semi-condensed’ | ‘normal’ | ‘semi-expanded’ | ‘expanded’ | ‘extra-expanded’ | ‘ultra-expanded’ ]
style или fontstyle [ ‘normal’ | ‘italic’ | ‘oblique’]
text строка или любой вывод с преобразованием ‘%s’
transform экземпляр Transform
url строка url
usetex неизвестно
variant или fontvariant [ ‘normal’ | ‘small-caps’ ]
verticalalignment или ma или va [ ‘center’ | ‘top’ | ‘bottom’ | ‘baseline’ ]
visible [True | False]
weight или fontweight [числовое значение в диапазоне 0-1000 | ‘ultralight’ | ‘light’ | ‘normal’ | ‘regular’ | ‘book’ | ‘medium’ | ‘roman’ | ‘semibold’ | ‘demibold’ | ‘demi’ | ‘bold’ | ‘heavy’ | ‘extra bold’ | ‘black’ ]
wrap неизвестно
x число с плавающей точкой
y число с плавающей точкой
zorder любое число
get_rotation()
class matplotlib.contour.ContourLabeler

Базы: object

Миксин для предоставления возможности маркировки ContourSet

add_label(x, y, rotation, lev, cvalue)

Добавление метки контура с использованием класса Text.

add_label_clabeltext(x, y, rotation, lev, cvalue)

Добавление метки контура с использованием класса ClabelText.

add_label_near(x, y, inline=True, inline_spacing=5, transform=None)

Добавление метки вблизи точки (x, y). Если transform равно None (по умолчанию), (x, y) находится в координатах данных; если transform равно False, (x, y) находится в координатах отображения; в противном случае, указанное преобразование будет использовано для перевода (x, y) в координаты отображения.

inline:
управляет удалением базового контура или нет. По умолчанию — True.
inline_spacing:
пробел в пикселях, оставляемый по обеим сторонам метки при размещении в строке. По умолчанию 5. Этот интервал будет точным для меток в местах, где контур прямой, и менее точным для меток на кривых контурах.
calc_label_rot_and_inline(slc, ind, lw, lc=None, spacing=5)

Эта функция вычисляет подходящее вращение метки, учитывая координаты линии контура в единицах экрана, индекс местоположения метки и ширину метки.

Она также разделит контур и вычислит выравнивание, если lc не пустое (lc по умолчанию — пустой список, если None). spacing — это расстояние вокруг метки в пикселях, которое следует оставить пустым.

Выполнение обеих задач одновременно, чтобы избежать многократного вызова mlab.path_length, что относительно дорого.

Здесь используется метод, включающий вычисление длины пути по контуру в пиксельных координатах, а затем приблизительное определение расстояния label width / 2 от центральной точки для определения поворота и, в случае необходимости, разделения контура.

clabel(*args, **kwargs)

Маркировка графика контуров.

Вызов:

clabel(cs, **kwargs)

Добавляет метки к линиям контуров в cs, где cs — объект ContourSet, возвращаемый функцией contour.

clabel(cs, v, **kwargs)

метят только контуры, перечисленные в v.

Необязательные ключевые параметры:

fontsize:
размер в пунктах или относительный размер, например, ‘smaller’, ‘x-large’
colors:
  • если None, цвет каждой метки соответствует цвету соответствующего контура
  • если одна строка цвета, например, colors = ‘r’ или colors = ‘red’, все метки будут нарисованы этим цветом
  • если кортеж из аргументов цвета matplotlib (строка, число, rgb и т. д.), разные метки будут нарисованы разными цветами в указанном порядке
inline:
управляет удалением базового контура или нет. По умолчанию — True.
inline_spacing:
пробел в пикселях, оставляемый по обеим сторонам метки при размещении в строке. По умолчанию 5. Этот интервал будет точным для меток в местах, где контур прямой, и менее точным для меток на кривых контурах.
fmt:
строковый формат для метки. По умолчанию — ‘%1.3f’. Также может быть словарем, сопоставляющим уровни контура произвольным строкам для каждого уровня контура (т. е., fmt[level]=string), или любым вызываемым объектом, например, экземпляром Formatter, который возвращает строку при вызове с числовым уровнем контура.
manual:

если True, метки контуров будут размещены вручную с помощью щелчков мыши. Щелкните левой кнопкой мыши вблизи контура, чтобы добавить метку, щелкните правой кнопкой мыши (или, возможно, обеими кнопками мыши одновременно), чтобы закончить добавление меток. Третья кнопка может использоваться для удаления последней добавленной метки, но только если метки не находятся в строке. В качестве альтернативы, можно использовать клавиатуру для выбора расположения меток (ввод для завершения размещения меток, удаление или Backspace действуют как третья кнопка мыши, а любая другая клавиша выберет местоположение метки).

manual может быть итерируемым объектом кортежей x,y. Метки контуров будут созданы так, как будто мышь щелкает в каждой позиции x,y.

rightside_up:
если True (по умолчанию), повороты меток всегда будут плюс или минус 90 градусов от уровня.
use_clabeltext:
если True (по умолчанию False), используется класс ClabelText (вместо matplotlib.Text) для создания меток. ClabelText пересчитывает углы поворота текстов во время рисования, поэтому это может быть полезно, если вид оси изменится.
get_label_coords(distances, XX, YY, ysize, lw)

Возвращает x, y и индекс местоположения метки.

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

get_label_width(lev, fmt, fsize)

Возвращает ширину метки в пунктах.

get_real_label_width(lev, fmt, fsize)

Вычисляет фактическую ширину метки на экране. Это использует некоторую магию, чтобы определить видимый размер метки, которая не была нарисована. Эта магия может быть не очень надежной.

Этот метод не используется и может быть изменён или удалён.

get_text(lev, fmt)

Получить текст метки

labels(inline, inline_spacing)
locate_label(linecontour, labelwidth)

Находит хорошее место для размещения метки (относительно плоская часть контура).

pop_label(index=-1)

По умолчанию удаляется последняя метка, но можно указать любой индекс

print_label(linecontour, labelwidth)

Возвращает False, если контуры слишком короткие для метки.

set_label_props(label, text, color)

установить свойства метки — цвет, размер шрифта, текст

too_close(x, y, lw)

Возвращает True, если метка уже находится вблизи этого местоположения.

class matplotlib.contour.ContourSet(ax, *args, **kwargs)

Основы: matplotlib.cm.ScalarMappable, matplotlib.contour.ContourLabeler

Хранение набора контурных линий или заполненных областей.

Метод, вызываемый пользователем: clabel

Полезные атрибуты:
ax:
Объект осей, на котором отображаются контуры
collections:
список LineCollections или PolyCollections
levels:
уровни контуров
layers:
то же, что и уровни для линий контуров; половина пути между уровнями для заполненных контуров. См. _process_colors().

Отображение контурных линий или заполненных областей в зависимости от того, является ли ключевое слово ‘filled’ False (по умолчанию) или True.

Первые три аргумента должны быть:

ax: объект осей.

levels: [level0, level1, …, leveln]
Список чисел с плавающей запятой, указывающий уровни контуров.
allsegs: [level0segs, level1segs, …]

Список всех сегментов многоугольников для всех levels. Для контурных линий len(allsegs) == len(levels), а для заполненных контурных областей len(allsegs) = len(levels)-1.

level0segs = [polygon0, polygon1, …]

polygon0 = массив [[x0,y0], [x1,y1], …]

allkinds: None или [level0kinds, level1kinds, …]

Необязательный список всех типов вершин многоугольников (коды типов), как описано и используется в Path. Это используется для разрешения многосвязных путей, таких как отверстия внутри заполненных многоугольников. Если не None, len(allkinds) == len(allsegs).

level0kinds = [polygon0kinds, …]

polygon0kinds = [vertexcode0, vertexcode1, …]

Если allkinds не None, обычно все многоугольники для определенного уровня контура группируются вместе, так что

level0segs = [polygon0] и level0kinds = [polygon0kinds].

Ключевые аргументы описаны в matplotlib.contour.QuadContourSet.contour_doc.

changed()
find_nearest_contour(x, y, indices=None, pixel=True)

Находит контур, наиболее близкий к точке. По умолчанию измеряет расстояние в пикселях (пространство экрана - полезно для ручного маркирования контуров), но это можно контролировать с помощью ключевого аргумента.

Возвращает кортеж, содержащий контур, сегмент, индекс сегмента, x и y точки сегмента и расстояние до минимальной точки.

Необязательные ключевые аргументы:

indices:
Индексы уровней контуров, которые следует учитывать при поиске ближайшей точки. По умолчанию используются все уровни.
pixel:
Если True, измеряет расстояние в пространстве пикселей, в противном случае - в пространстве осей. По умолчанию True.
get_alpha()

возвращает альфа-значение, которое будет применено ко всем элементам ContourSet

get_transform()

Возвращает экземпляр Transform, используемый этим ContourSet.

legend_elements(variable_name='x', str_format=<class 'str'>)

Возвращает список элементов художников и меток, подходящих для передачи в plt.legend(), которые представляют этот ContourSet.

Аргументы:

variable_name: строка, используемая внутри неравенства, используемого
на метках

str_format: функция, используемая для форматирования чисел в метках

set_alpha(alpha)

устанавливает альфа-значение для всех элементов ContourSet

vmax
vmin
class matplotlib.contour.QuadContourSet(ax, *args, **kwargs)

Основы: matplotlib.contour.ContourSet

Создаёт и хранит набор контурных линий или заполненных областей.

Метод, вызываемый пользователем: clabel()

Полезные атрибуты:
ax:
Объект осей, на котором отображаются контуры
collections:
список LineCollections или PolyCollections
levels:
уровни контуров
layers:
То же, что и уровни для линий контуров; половина пути между уровнями для заполненных контуров. См. метод _process_colors().

Отображение контурных линий или заполненных областей в зависимости от того, является ли ключевое слово ‘filled’ False (по умолчанию) или True.

Первые три аргумента должны быть:

ax: объект осей.

levels: [level0, level1, …, leveln]
Список чисел с плавающей запятой, указывающий уровни контуров.
allsegs: [level0segs, level1segs, …]

Список всех сегментов многоугольников для всех levels. Для контурных линий len(allsegs) == len(levels), а для заполненных контурных областей len(allsegs) = len(levels)-1.

level0segs = [polygon0, polygon1, …]

polygon0 = массив [[x0,y0], [x1,y1], …]

allkinds: None или [level0kinds, level1kinds, …]

Необязательный список всех типов вершин многоугольников (коды типов), как описано и используется в Path. Это используется для разрешения многосвязных путей, таких как отверстия внутри заполненных многоугольников. Если не None, len(allkinds) == len(allsegs).

level0kinds = [polygon0kinds, …]

polygon0kinds = [vertexcode0, vertexcode1, …]

Если allkinds не None, обычно все многоугольники для определенного уровня контура группируются вместе, так что

level0segs = [polygon0] и level0kinds = [polygon0kinds].

Ключевые аргументы описаны в matplotlib.contour.QuadContourSet.contour_doc.

contour_doc = "\n Plot contours.\n\n :func:`~matplotlib.pyplot.contour` and\n :func:`~matplotlib.pyplot.contourf` draw contour lines and\n filled contours, respectively. Except as noted, function\n signatures and return values are the same for both versions.\n\n :func:`~matplotlib.pyplot.contourf` differs from the MATLAB\n version in that it does not draw the polygon edges.\n To draw edges, add line contours with\n calls to :func:`~matplotlib.pyplot.contour`.\n\n\n Call signatures::\n\n contour(Z)\n\n make a contour plot of an array *Z*. The level values are chosen\n automatically.\n\n ::\n\n contour(X,Y,Z)\n\n *X*, *Y* specify the (x, y) coordinates of the surface\n\n ::\n\n contour(Z,N)\n contour(X,Y,Z,N)\n\n contour up to *N* automatically-chosen levels.\n\n ::\n\n contour(Z,V)\n contour(X,Y,Z,V)\n\n draw contour lines at the values specified in sequence *V*,\n which must be in increasing order.\n\n ::\n\n contourf(..., V)\n\n fill the ``len(V)-1`` regions between the values in *V*,\n which must be in increasing order.\n\n ::\n\n contour(Z, **kwargs)\n\n Use keyword args to control colors, linewidth, origin, cmap ... see\n below for more details.\n\n *X* and *Y* must both be 2-D with the same shape as *Z*, or they\n must both be 1-D such that ``len(X)`` is the number of columns in\n *Z* and ``len(Y)`` is the number of rows in *Z*.\n\n ``C = contour(...)`` returns a\n :class:`~matplotlib.contour.QuadContourSet` object.\n\n Optional keyword arguments:\n\n *corner_mask*: [ *True* | *False* | 'legacy' ]\n Enable/disable corner masking, which only has an effect if *Z* is\n a masked array. If *False*, any quad touching a masked point is\n masked out. If *True*, only the triangular corners of quads\n nearest those points are always masked out, other triangular\n corners comprising three unmasked points are contoured as usual.\n If 'legacy', the old contouring algorithm is used, which is\n equivalent to *False* and is deprecated, only remaining whilst the\n new algorithm is tested fully.\n\n If not specified, the default is taken from\n rcParams['contour.corner_mask'], which is True unless it has\n been modified.\n\n *colors*: [ *None* | string | (mpl_colors) ]\n If *None*, the colormap specified by cmap will be used.\n\n If a string, like 'r' or 'red', all levels will be plotted in this\n color.\n\n If a tuple of matplotlib color args (string, float, rgb, etc),\n different levels will be plotted in different colors in the order\n specified.\n\n *alpha*: float\n The alpha blending value\n\n *cmap*: [ *None* | Colormap ]\n A cm :class:`~matplotlib.colors.Colormap` instance or\n *None*. If *cmap* is *None* and *colors* is *None*, a\n default Colormap is used.\n\n *norm*: [ *None* | Normalize ]\n A :class:`matplotlib.colors.Normalize` instance for\n scaling data values to colors. If *norm* is *None* and\n *colors* is *None*, the default linear scaling is used.\n\n *vmin*, *vmax*: [ *None* | scalar ]\n If not *None*, either or both of these values will be\n supplied to the :class:`matplotlib.colors.Normalize`\n instance, overriding the default color scaling based on\n *levels*.\n\n *levels*: [level0, level1, ..., leveln]\n A list of floating point numbers indicating the level\n curves to draw, in increasing order; e.g., to draw just\n the zero contour pass ``levels=[0]``\n\n *origin*: [ *None* | 'upper' | 'lower' | 'image' ]\n If *None*, the first value of *Z* will correspond to the\n lower left corner, location (0,0). If 'image', the rc\n value for ``image.origin`` will be used.\n\n This keyword is not active if *X* and *Y* are specified in\n the call to contour.\n\n *extent*: [ *None* | (x0,x1,y0,y1) ]\n\n If *origin* is not *None*, then *extent* is interpreted as\n in :func:`matplotlib.pyplot.imshow`: it gives the outer\n pixel boundaries. In this case, the position of Z[0,0]\n is the center of the pixel, not a corner. If *origin* is\n *None*, then (*x0*, *y0*) is the position of Z[0,0], and\n (*x1*, *y1*) is the position of Z[-1,-1].\n\n This keyword is not active if *X* and *Y* are specified in\n the call to contour.\n\n *locator*: [ *None* | ticker.Locator subclass ]\n If *locator* is *None*, the default\n :class:`~matplotlib.ticker.MaxNLocator` is used. The\n locator is used to determine the contour levels if they\n are not given explicitly via the *V* argument.\n\n *extend*: [ 'neither' | 'both' | 'min' | 'max' ]\n Unless this is 'neither', contour levels are automatically\n added to one or both ends of the range so that all data\n are included. These added ranges are then mapped to the\n special colormap values which default to the ends of the\n colormap range, but can be set via\n :meth:`matplotlib.colors.Colormap.set_under` and\n :meth:`matplotlib.colors.Colormap.set_over` methods.\n\n *xunits*, *yunits*: [ *None* | registered units ]\n Override axis units by specifying an instance of a\n :class:`matplotlib.units.ConversionInterface`.\n\n *antialiased*: [ *True* | *False* ]\n enable antialiasing, overriding the defaults. For\n filled contours, the default is *True*. For line contours,\n it is taken from rcParams['lines.antialiased'].\n\n *nchunk*: [ 0 | integer ]\n If 0, no subdivision of the domain. Specify a positive integer to\n divide the domain into subdomains of *nchunk* by *nchunk* quads.\n Chunking reduces the maximum length of polygons generated by the\n contouring algorithm which reduces the rendering workload passed\n on to the backend and also requires slightly less RAM. It can\n however introduce rendering artifacts at chunk boundaries depending\n on the backend, the *antialiased* flag and value of *alpha*.\n\n contour-only keyword arguments:\n\n *linewidths*: [ *None* | number | tuple of numbers ]\n If *linewidths* is *None*, the default width in\n ``lines.linewidth`` in ``matplotlibrc`` is used.\n\n If a number, all levels will be plotted with this linewidth.\n\n If a tuple, different levels will be plotted with different\n linewidths in the order specified.\n\n *linestyles*: [ *None* | 'solid' | 'dashed' | 'dashdot' | 'dotted' ]\n If *linestyles* is *None*, the default is 'solid' unless\n the lines are monochrome. In that case, negative\n contours will take their linestyle from the ``matplotlibrc``\n ``contour.negative_linestyle`` setting.\n\n *linestyles* can also be an iterable of the above strings\n specifying a set of linestyles to be used. If this\n iterable is shorter than the number of contour levels\n it will be repeated as necessary.\n\n contourf-only keyword arguments:\n\n *hatches*:\n A list of cross hatch patterns to use on the filled areas.\n If None, no hatching will be added to the contour.\n Hatching is supported in the PostScript, PDF, SVG and Agg\n backends only.\n\n\n Note: contourf fills intervals that are closed at the top; that\n is, for boundaries *z1* and *z2*, the filled region is::\n\n z1 < z <= z2\n\n There is one exception: if the lowest boundary coincides with\n the minimum value of the *z* array, then that minimum value\n will be included in the lowest interval.\n "

© 2012–2017 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
http://matplotlib.org/2.1.0/api/contour_api.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API