SpatialMap

class SpatialMap(data: ndarray, positions: _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes] | AbstractSites, sublattices: _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes] | None = None)

Represents some spatially dependent property: data mapped to site positions

Attributes

callsig

data

1D array of values for each site, i.e. maps directly to x, y, z site coordinates.

num_sites

Total number of lattice sites

positions

Lattice site positions.

sub

1D array of sublattices IDs, short for .sublattices

sublattices

1D array of sublattices IDs

x

1D array of coordinates, short for .positions.x

xyz

Return a new array with shape=(N, 3).

y

1D array of coordinates, short for .positions.y

z

1D array of coordinates, short for .positions.z

Methods

__getitem__(idx)

Same rules as numpy indexing

_decorate_plot([ax])

_make_crop_indices(limits)

Return the indices into obj which retain only the data within the given limits

clipped(v_min, v_max)

Clip (limit) the values in the data array, see clip()

convolve([sigma])

Convolve the data with a Gaussian kernel of the given standard deviation

cropped(**limits)

Return a copy which retains only the sites within the given limits

plot_contour([ax])

Contour plot of the xy plane

plot_contourf([num_levels, ax])

Filled contour plot of the xy plane

plot_pcolor([ax])

Color plot of the xy plane

save_txt(filename)

with_data(data)

Return a copy of this object with different data mapped to the sites

__getitem__(idx: int | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes]) SpatialMap

Same rules as numpy indexing

clipped(v_min: int, v_max: int) SpatialMap

Clip (limit) the values in the data array, see clip()

convolve(sigma: float = 0.25)

Convolve the data with a Gaussian kernel of the given standard deviation

Parameters:
sigmafloat

Standard deviation of the Gaussian kernel

cropped(**limits) SpatialMap

Return a copy which retains only the sites within the given limits

Parameters:
**limits

Attribute names and corresponding limits. See example.

Examples

Leave only the data where -10 <= x < 10 and 2 <= y < 4:

new = original.cropped(x=[-10, 10], y=[2, 4])
plot_contour(ax: Axes | None = None, **kwargs) TriContourSet

Contour plot of the xy plane

Parameters:
axOptional[plt.Axes]

The axis to plot on.

**kwargs

Forwarded to tricontour().

plot_contourf(num_levels: int = 50, ax: Axes | None = None, **kwargs) TriContourSet

Filled contour plot of the xy plane

Parameters:
num_levelsint

Number of contour levels.

axOptional[plt.Axes]

The axis to plot on.

**kwargs

Forwarded to tricontourf().

plot_pcolor(ax: Axes | None = None, **kwargs) TriMesh | PolyCollection

Color plot of the xy plane

Parameters:
axOptional[plt.Axes]

The axis to plot on.

**kwargs

Forwarded to tripcolor().

with_data(data) SpatialMap

Return a copy of this object with different data mapped to the sites

property data: ndarray

1D array of values for each site, i.e. maps directly to x, y, z site coordinates

property num_sites: int

Total number of lattice sites

property positions: Positions

Lattice site positions. Named tuple with x, y, z fields, each a 1D array.

property sub: ndarray

1D array of sublattices IDs, short for .sublattices

property sublattices: ndarray

1D array of sublattices IDs

property x: ndarray

1D array of coordinates, short for .positions.x

property xyz: ndarray

Return a new array with shape=(N, 3). Convenient, but slow for big systems.

property y: ndarray

1D array of coordinates, short for .positions.y

property z: ndarray

1D array of coordinates, short for .positions.z