# StructureMap¶

class StructureMap(data, sites, hoppings, boundaries=())

A subclass of SpatialMap that also includes hoppings between sites

Attributes

 boundaries Boundary hoppings between different translation units (only for infinite systems) data 1D array of values for each site, i.e. hoppings Sparse matrix of hopping IDs num_sites Total number of lattice sites positions Lattice site positions. spatial_map Just the SpatialMap subset without hoppings 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 clipped(v_min, v_max) Clip (limit) the values in the data array, see clip() cropped(**limits) Return a copy which retains only the sites within the given limits plot([cmap, site_radius, num_periods]) Plot the spatial structure with a colormap of data at the lattice sites plot_contour(**kwargs) Contour plot of the xy plane plot_contourf([num_levels]) Filled contour plot of the xy plane plot_pcolor(**kwargs) Color plot of the xy plane with_data(data) Return a copy of this object with different data mapped to the sites
__getitem__(idx)

Same rules as numpy indexing

clipped(v_min, v_max)

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

cropped(**limits)

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(cmap='YlGnBu', site_radius=(0.03, 0.05), num_periods=1, **kwargs)

Plot the spatial structure with a colormap of data at the lattice sites

Both the site size and color are used to display the data.

Parameters: cmap : str Matplotlib colormap to be used for the data. site_radius : Tuple[float, float] Min and max radius of lattice sites. This range will be used to visually represent the magnitude of the data. num_periods : int Number of times to repeat periodic boundaries. **kwargs Additional plot arguments as specified in structure_plot_properties().
plot_contour(**kwargs)

Contour plot of the xy plane

Parameters: **kwargs Forwarded to tricontour().
plot_contourf(num_levels=50, **kwargs)

Filled contour plot of the xy plane

Parameters: num_levels : int Number of contour levels. **kwargs Forwarded to tricontourf().
plot_pcolor(**kwargs)

Color plot of the xy plane

Parameters: **kwargs Forwarded to tripcolor().
with_data(data) → pybinding.results.StructureMap

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

boundaries

Boundary hoppings between different translation units (only for infinite systems)

data

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

hoppings

Sparse matrix of hopping IDs

num_sites

Total number of lattice sites

positions

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

spatial_map

Just the SpatialMap subset without hoppings

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). Convenient, but slow for big systems.

y

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

z

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