PlainDosPlotter#

class lobsterpy.plotting.PlainDosPlotter(zero_at_efermi=True, stack=False, summed=False, sigma=None)[source]#

Bases: DosPlotter

Modified Pymatgen DosPlotter with styling removed.

This allows the styling to be manipulated more easily using matplotlib style sheets. It also adds additional functionalities to plotter

Parameters:
  • zero_at_efermi (bool) – Shift all DOS to have zero energy at the Fermi level. Defaults to True.

  • stack (bool) – Bool indicating that plot should be stacked area graph.

  • sigma (float | None) – Standard deviation for gaussian smearing.

  • summed (bool) – Will plot summed dos spin populations. Defaults to False.

add_dos(label, dos)[source]#

Add a dos for plotting.

Parameters:
  • label (str) – label for the DOS. Must be unique.

  • dos (LobsterCompleteDos) – LobsterCompleteDos object

Return type:

None

add_site_orbital_dos(dos, orbital, site_index)[source]#

Add orbital dos at particular site.

Parameters:
  • dos (LobsterCompleteDos) – LobsterCompleteDos object

  • orbital (str) – Orbitals name at the site. Must be unique.

  • site_index (int) – site index in the structure

get_plot(ax=None, xlim=None, ylim=None, invert_axes=False, beta_dashed=False, sigma=None)[source]#

Get a matplotlib plot showing the COHP.

Parameters:
  • ax (mpl.axes.Axes | None) – Existing Matplotlib Axes object to plot to.

  • xlim (tuple[float, float] | None) – Specifies the x-axis limits. Defaults to None for automatic determination.

  • ylim (tuple[float, float] | None) – Specifies the y-axis limits. Defaults to None for automatic determination.

  • invert_axes (bool) – Put the energies onto the y-axis, which is common in chemistry.

  • beta_dashed (bool) – Plots the beta spin channel with a dashed line. Defaults to False

  • sigma (float | None) – Standard deviation of Gaussian broadening applied to population data. If this is unset (None) no broadening will be added.

Returns:

A matplotlib object.