aim2dat.plots.surface

Surface energy plots.

Module Contents

Classes

SurfacePlot

Plot the surface energy with respect to the chemical potential.

class aim2dat.plots.surface.SurfacePlot(area_unit='angstrom', energy_unit='eV', plot_element=None, plot_type='chem_potential', plot_properties='surface_energy', plot_labels=None, show_x_label=True, show_y_label=True, **kwargs)[source]

Bases: aim2dat.plots.base_plot._BasePlot

Plot the surface energy with respect to the chemical potential.

Overview

Properties

area_unit

Unit of the surface area.

backend

used backend library to plot the data. Supported values are "matplotlib" and

bulk_phase

Bulk phase.

custom_alpha

Alpha value(s) controlling the opacity of plot elements.

custom_colors

Colors used in the plot.

custom_hatch

Hatch value(s) controlling the hatch of plot elements.

custom_linestyles

Line styles used in the plot (This feature is not supported by all plot

custom_linewidths

Line widths used in the plot (This feature is not supported by all plot

custom_markers

Marker types used in the plot (This feature is not supported by all plot

custom_xticklabels

List of labels for the ticks on the x-axis.

custom_xticks

List of values to set ticks on the x-axis.

custom_yticklabels

List of labels for the ticks on the y-axis.

custom_yticks

List of values to set ticks on the y-axis.

data_labels

List of labels for all data sets.

elemental_phases

Elemental phases.

energy_unit

Energy unit.

equal_aspect_ratio

Set equal aspect ratio of the plot(s).

legend_bbox_to_anchor

Shift between box and anchor. The default value is (1, 1).

legend_loc

Location of the legend. The default value is 1.

legend_ncol

Columns of the legend (only supported for the matplotlib backend).

legend_sort_entries

Sort entries of the legend.

plot_grid

Whether to draw a grid in the plot. The default value is False.

plot_properties

Properties that are plotted on the y-axis.

plot_type

Plot type. Supported options are ‘chem_potential’ or ‘excess_atoms’.

ratio

Length-to-width ratio of the plot given as a tuple of two numbers.

show_colorbar

Show colorbar (not supported by all plots).

show_grid

Whether to draw a grid in the plot. The default value is False.

show_legend

Show legend. The default value is False.

show_plot

Show plot. The default value is False.

store_path

Path of the folder to store the plot. The default value is ./.

store_plot

Store plot. The default value is False.

style_sheet

Custom matplotlib style sheet.

subplot_adjust

Keyword arguments for the matplotlib subplots_adjust function.

subplot_align_ylabels

Align y label of plot. The default value is False.

subplot_gridspec

Grid spec values.

subplot_hspace

Vertical spacing between the subplots.

subplot_ncols

Number of columns. The default value is 1.

subplot_nrows

Number of rows. The default value is 2.

subplot_share_colorbar

Use one common colorbar for all subplots.

subplot_share_legend

Merge legend items of all subplots.

subplot_sharex

Share the x-axis of subplots located in the same column.

subplot_sharey

Share the y-axis of subplots located in the same row.

subplot_sup_title

Title of the whole figure.

subplot_sup_x_label

x-label of the whole figure.

subplot_sup_y_label

y-label of the whole figure.

subplot_tight_layout

Tight layout of plot. The default value is False.

subplot_wspace

Horizontal spacing between the subplots.

x_label

Label of the x-axis. If None is given no label will be shown. The

x_range

Range of the x-axis. The default value is None.

y_label

Label of the y-axis. If None is given no label will be shown. The

y_range

Range of the y-axis. The default value is None.

Methods

add_surface_facet(data_label, formula, total_energy, surface_area, miller_indices, termination_label, area_unit, energy_unit, **kwargs)

Add surface.

auto_set_axis_properties(set_x_label, set_y_label)

Whether the axis labels and other axis properties are auto-generated.

create_default_gridspec(nrows, ncols, nplots, heights, widths, center_last_row)

Create default grid for multiple plots.

import_from_pandas_df(data_label, data_frame, termination_labels, ter_labeling_scheme, extract_electronic_properties)

Import surface facets from a results pandas data frame of the workflow builder.

plot(data_labels, plot_title, plot_name, subplot_assignment)

Plot the data sets.

reset_gridspec()

Reset gridspec settings.

return_data_labels()

Return the labels of all data sets.

set_bulk_phase(formula, total_energy, unit)

Set bulk phase.

set_elemental_phase(element, total_energy, nr_atoms, unit)

Set elemental phase.

property area_unit

Unit of the surface area.

Type:

str

property backend

used backend library to plot the data. Supported values are "matplotlib" and "plotly".

Type:

str

property bulk_phase

Bulk phase.

property custom_alpha

Alpha value(s) controlling the opacity of plot elements.

Type:

float, list or tuple

property custom_colors

Colors used in the plot.

Type:

list or tuple

property custom_hatch

Hatch value(s) controlling the hatch of plot elements.

Type:

float, list or tuple

property custom_linestyles

Line styles used in the plot (This feature is not supported by all plot types).

Type:

list or tuple

property custom_linewidths

Line widths used in the plot (This feature is not supported by all plot types).

Type:

list or tuple

property custom_markers

Marker types used in the plot (This feature is not supported by all plot types).

Type:

list or tuple

property custom_xticklabels

List of labels for the ticks on the x-axis.

Type:

list

property custom_xticks

List of values to set ticks on the x-axis.

Type:

list

property custom_yticklabels

List of labels for the ticks on the y-axis.

Type:

list

property custom_yticks

List of values to set ticks on the y-axis.

Type:

list

property data_labels

List of labels for all data sets.

Type:

list

property elemental_phases

Elemental phases.

property energy_unit

Energy unit.

Type:

str

property equal_aspect_ratio

Set equal aspect ratio of the plot(s).

Type:

bool

property legend_bbox_to_anchor

Shift between box and anchor. The default value is (1, 1).

Type:

tuple or list

property legend_loc

Location of the legend. The default value is 1.

Type:

int

property legend_ncol

Columns of the legend (only supported for the matplotlib backend).

Type:

int

property legend_sort_entries

Sort entries of the legend.

Type:

bool

property plot_grid

Whether to draw a grid in the plot. The default value is False.

Type:

bool

property plot_properties

Properties that are plotted on the y-axis.

Type:

str, tuple or list

property plot_type

Plot type. Supported options are ‘chem_potential’ or ‘excess_atoms’.

Type:

str

property ratio

Length-to-width ratio of the plot given as a tuple of two numbers.

Type:

tuple or list

property show_colorbar

Show colorbar (not supported by all plots).

Type:

bool

property show_grid

Whether to draw a grid in the plot. The default value is False.

Type:

bool

property show_legend

Show legend. The default value is False.

Type:

bool

property show_plot

Show plot. The default value is False.

Type:

bool

property store_path

Path of the folder to store the plot. The default value is ./.

Type:

str

property store_plot

Store plot. The default value is False.

Type:

bool

property style_sheet

Custom matplotlib style sheet.

Type:

str

property subplot_adjust

Keyword arguments for the matplotlib subplots_adjust function.

Type:

dict

property subplot_align_ylabels

Align y label of plot. The default value is False.

Type:

bool

property subplot_gridspec

Grid spec values.

Type:

list or tuple

property subplot_hspace

Vertical spacing between the subplots.

Type:

float

property subplot_ncols

Number of columns. The default value is 1.

Type:

int

property subplot_nrows

Number of rows. The default value is 2.

Type:

int

property subplot_share_colorbar

Use one common colorbar for all subplots.

Type:

bool

property subplot_share_legend

Merge legend items of all subplots.

Type:

bool

property subplot_sharex

Share the x-axis of subplots located in the same column.

Type:

bool

property subplot_sharey

Share the y-axis of subplots located in the same row.

Type:

bool

property subplot_sup_title

Title of the whole figure.

Type:

str

property subplot_sup_x_label

x-label of the whole figure.

Type:

str

property subplot_sup_y_label

y-label of the whole figure.

Type:

str

property subplot_tight_layout

Tight layout of plot. The default value is False.

Type:

bool

property subplot_wspace

Horizontal spacing between the subplots.

Type:

float

property x_label

Label of the x-axis. If None is given no label will be shown. The default value is None.

Type:

str or None

property x_range

Range of the x-axis. The default value is None.

Type:

tuple or list

property y_label

Label of the y-axis. If None is given no label will be shown. The default value is None.

Type:

str or None

property y_range

Range of the y-axis. The default value is None.

Type:

tuple or list

add_surface_facet(data_label, formula, total_energy, surface_area, miller_indices=None, termination_label=None, area_unit='angstrom', energy_unit='eV', **kwargs)[source]

Add surface.

Parameters:
  • data_label (str) – Internal label used to plot and compare multiple data sets.

  • formula (dict, list or str) – Chemical formula of the surface slab.

  • total_energy (float) – Total energy of the surface slab.

  • surface_area (float) – Surface area of the facet.

  • area_unit (str (optional)) – Unit of the surface area. The default value is 'angstrom'.

  • energy_unit (str (optional)) – Unit of the energy. The default value is 'eV'.

auto_set_axis_properties(set_x_label=True, set_y_label=True)

Whether the axis labels and other axis properties are auto-generated.

Parameters:
  • set_x_label (bool) – Set x-axis label automatically.

  • set_y_label (bool) – Set y-axis label automatically.

create_default_gridspec(nrows, ncols, nplots, heights=1, widths=1, center_last_row=True)

Create default grid for multiple plots.

Parameters:
  • nrows (Int) – Number of rows.

  • ncols (int) – Number columns.

  • nplots (int) – Number of subplots.

  • heights (int (optional)) – Height of subplots.

  • widths (int (optional)) – Width of subplots.

  • center_last_row (bool (optional)) – Center the plots of the last row.

import_from_pandas_df(data_label, data_frame, termination_labels=None, ter_labeling_scheme=None, extract_electronic_properties=False)[source]

Import surface facets from a results pandas data frame of the workflow builder.

Parameters:
  • data_label (str) – Internal label used to plot and compare multiple data sets.

  • data_frame (pandas.DataFrame) – Pandas data frame.

  • termination_labels (list (optional)) – List of termination indicies. If set to None the termination index for each facet is extracted from the input SurfaceData of the workflow.

  • ter_labeling_scheme (str (optional)) – Automatic labeling for surface slabs.

  • extract_electronic_properties (bool (optional)) – Whether to extract the band gap and the ionization potential from the calculated band structure.

plot(data_labels, plot_title=None, plot_name='plot.png', subplot_assignment=None)

Plot the data sets.

Parameters:
  • data_labels (list or str) – List of data labels of the data sets that are plotted or in case only one data set is plotted a string.

  • plot_title (list or str (optional)) – Title of the plots or subplots.

  • plot_name (str (optional)) – The file name of the plot.

  • subplot_assignment (list or None (optional)) – Assignment of the data sets to individual subplots.

Returns:

fig (matplotlib.pyplot.figure or plotly.graph_objects.Figure) – Figure object of the plot.

reset_gridspec()

Reset gridspec settings.

return_data_labels()

Return the labels of all data sets.

Returns:

data_labels (list) – List of the labels of all data sets.

set_bulk_phase(formula, total_energy, unit='eV')[source]

Set bulk phase.

Parameters:
  • formula (dict, list or str) – Chemical formula of the bulk phase.

  • total_energy (float) – Total energy of the phase.

  • unit (str (optional)) – Unit of the energy. The default value is 'eV'.

set_elemental_phase(element, total_energy, nr_atoms=1, unit='eV')[source]

Set elemental phase.

Parameters:
  • element (str, int) – Name, symbol or atomic number of the element.

  • total_energy (float) – Total energy of the phase.

  • nr_atoms (int (optional)) – Number of atoms of the phase. The default value is 1.

  • unit (str (optional)) – Unit of the energy. The default value is 'eV'.