Density of States (DOS) #

This page documents the DOS workflow in detail, including required files, parsing behavior, plain and filtered plotting, filter controls, projection tables, axis behavior, and export.

The workflow is code-agnostic: upload the output files from your DFT simulation, parse, tune your plot settings, and export a publication-ready figure. Where useful, this page uses VASP file names (DOSCAR, POSCAR) as examples.

For full styling controls (figure, title, axes, grid, legend, etc.), see Plot Settings.

Density of states example for CaFeO3 with Ca, Fe, and O channels
Total spin-polarized density of states example for SrTiO3
Total spin-polarized density of states example for HfScOs2
Projected density of states example for SrTiO3 with Sr, Ti eg and t2g, and O channels

Input and Parsing #

DOS plotting requires DOS data and optionally structural metadata. In this documentation, VASP files are used as an example. Because DOSCAR contains the Fermi energy, the VASP page does not include a Fermi-energy input field.

For spin-polarized DOS, spin-down values are mirrored on the negative side in the standard DOS layout.

Although this section resembles uploading files to a website, your files never leave your computer. Parsing and plotting run locally in your browser. Below is the list of files currently required by the web app to generate DOS figures.

Code Required Optional
VASP DOSCAR POSCAR

After selecting the files, click Parse to process the data.

DOS upload panel with DOSCAR and optional structure file inputs

DOS Plot Options #

Plot plain DOS: show the total DOS curve from parsed DOS arrays.

Plot filtered DOS: show projected DOS curves based on the filter selections. This mode requires projected DOS data and at least one filter.

DOS Figure Orientation: select the orientation of the figure. Horizontal to plot energy on x, or Vertical to plot energy on y.

Smoothing: adjust line smoothing from 0 to 1; use 0 for no smoothing and 1 for maximum smoothing. ECharts applies smooth line interpolation (Bezier-style) using this factor.

DOS options panel with plot toggles, orientation selector, and smoothing

Line/Marker Panel

The Line/Marker panel in General Options controls the style of plain DOS traces. If a spin-polarized simulation is loaded, a second Line/Marker tile is shown automatically for the spin-down channel.

Screenshot of the Line/Marker panel in General Options.

Line: choose the line style (Solid, Dashed, or Dotted).

Width: customize the plot lines line width by modifying this field. The units are pixels.

Marker: choose the marker type (None, Circle, Rect, RoundRect, Triangle, or Diamond).

Size: set marker size in pixels.

Color: customize the line and marker color using the color picker. The appearance of the color picker is defined by the browser. In Firefox, to select a custom color you need to click on the “+” icon.

Opacity: set the opacity of line and marker style to any value between 0 and 1, where 0 means fully transparent and 1 means fully opaque.

Plot Order: control drawing stack priority; higher values are drawn on top of lower values, while auto keeps default ordering.

Legend Panel

The Legend Panel in General Options controls the legend label text and label style for plain DOS traces. If a spin-polarized simulation is loaded, a second legend-label tile is shown automatically for the spin-down channel.

Screenshot of the Legend Panel in General Options.

Label: set the legend label text for the trace.

Color: customize the legend label color using the color picker. The appearance of the color picker is defined by the browser. In Firefox, to select a custom color you need to click on the “+” icon.

Weight: customize the font weight using this dropdown. The options correspond to font-thin, font-extralight, font-light, font-normal, font-medium, font-semibold, font-bold, font-extrabold, and font-black, which map to 100, 200, 300, 400, 500, 600, 700, 800, and 900, respectively. Most fonts only provide a subset of these weights (typically normal and bold). You can see examples of fonts that support all weights in Google Fonts.

Style: customize the font style as normal or italic.

Fermi Level Panel

The Fermi level panel in General Options controls the horizontal Fermi reference line drawn in the plot.

Screenshot of the Fermi level panel in General Options.

Show fermi: enable or disable the Fermi reference line.

Shift: apply an additional energy offset before plotting. The displayed energy reference follows E - (EF + shift), and the shift unit follows the selected energy unit in the Units panel.

In DOS, the base Fermi reference is read from the parsed DOS data (for example, eFermi in DOSCAR metadata).

Line, Width, Color: control the visual style of the Fermi line.

Opacity: set the opacity of fermi line to any value between 0 and 1, where 0 means fully transparent and 1 means fully opaque.

Plot Order: control rendering priority relative to other traces and overlays.

Bandgap Panel

The Bandgap panel in General Options controls the guide lines and annotations used to visualize the gap.

Screenshot of the Bandgap panel in General Options.

Show bandgap: enable or disable bandgap guides and labels.

Color, Line, Width: control the style of the bandgap guide lines.

Length: set guide extent to none, partial, or full.

Fill: choose how the gap region is rendered: none, hash, or solid.

Arrow: show or hide directional arrow markers.

Value: show or hide the numeric gap label in the selected energy unit.

In DOS, bandgap guides are computed from DOS-based edge detection in the current view and respect the selected figure orientation.

Filtered Density of States Workflow #

Filtered plotting requires projected data and at least one filter card. If projected data is unavailable, adding filters is disabled.

+ Add Filter: add a new filter card with projection-table selection and style controls.

First filter behavior: first-time filter creation enables filtered mode; plain and filtered curves can still be rendered together afterward.

Filter scope: each filter has independent projection selections, label controls, and visual styling.

Filter removal: remove filters individually without affecting other filter cards.

Add Filter workflow

Filter Panels #

Each filter has a set of control panels that map directly to options consumed by the plotting pipeline.

Coloring Panel

Color / Colormap: choose between a single solid color and colormap-based rendering for each filter.

Color: when Color is selected, use the color picker to set the filter color.

Fill: in Density of States, when Color is selected, enable this checkbox to fill the area under the curve.

Colormap: when Colormap is selected, choose the palette used to map projected values.

Reverse: reverse the colormap direction.

Opacity: control filter transparency from 0 to 1.

Plot Order: control drawing stack priority; higher values are drawn on top.

Coloring panel for filtered Density of States

Line and Marker Panel

Line: select line style from None, Solid, Dashed, and Dotted.

Width: set line width in pixels. This field is disabled when Line is None.

Marker: select marker type from None, Circle, Rect, RoundRect, Triangle, and Diamond.

Size: set marker size in pixels. This field is disabled when Marker is None.

Line and marker panel for filtered Density of States

Spins/Values Panel

Spin ↑ / Spin ↓: select which spin channels are included for this filter. These checkboxes are shown when spin-resolved projected data is available.

vmin: set the lower bound for colormap normalization.

vmax: set the upper bound for colormap normalization.

Normalize: this does not perform a quantum-mechanical normalization. It only rescales the selected projection values so they add up to one for plotting. Projection values depend on the selected projection basis and projection radii, and the selected set may be incomplete.

Spins/Values panel for filtered plots

Legend Panel

Legend Label: enter custom legend text for the filter. Leave this field empty to use the auto-generated label from your projection selection.

Color: customize the legend label color using the color picker. The appearance of the color picker is defined by the browser. In Firefox, to select a custom color you need to click on the “+” icon.

Weight: customize the font weight using this dropdown. The options correspond to font-thin, font-extralight, font-light, font-normal, font-medium, font-semibold, font-bold, font-extrabold, and font-black, which map to 100, 200, 300, 400, 500, 600, 700, 800, and 900, respectively. Most fonts only provide a subset of these weights (typically normal and bold). You can see examples of fonts that support all weights in Google Fonts.

Style: customize the font style as normal or italic.

Legend label panel for filtered plots

Projection Table (Ions, Orbitals, and Spin Channels) #

The projection table defines which projected DOS components are summed for each filter. Table structure adapts to available metadata and projected layout.

Rows: represent ions directly, or species-grouped ions when parsed structure metadata is available and consistent.

Columns: represent orbital channels and, when applicable, magnetization channels.

All: use row-level and species-level bulk selection. Checkboxes become indeterminate when only part of a row/species is selected.

Basic projection table when a structure file (e.g. POSCAR) is not available. In this case, ions are labeled by their order in the DOS output file (e.g. DOSCAR).

DOS projection table with generic ion rows

Species-grouped table when structure data is present and consistent with projected DOS blocks. To ensure consistency, use files from the same simulation.

DOS projection table grouped by species

Additional magnetization channel columns appear, enabling direction-resolved projected DOS filtering. If none of mx, my, or mz is selected, the orbital total projection is used. If any of them is selected, the plotted contribution follows the selected magnetization channel(s).

DOS projection table with non-collinear spin/magnetization columns

Sizing and Rendering Behavior #

Figure sizing: in vertical orientation, automatic sizing swaps figure dimensions to preserve layout.

Series composition: plain and filtered series can be rendered together, and legend labels are built from filter selections and spin context.

Export and Output #

Use Plot to render, Reset to clear, and Download to export. Export supports PNG, JPEG, and SVG.

Renderer is selected automatically per export format to preserve expected quality and compatibility.

Download controls used for figure export

Troubleshooting #

Missing DOS input: shown when parse is requested without a selected DOS file.

Parsing required: shown when plot is requested before a successful parse cycle.

No DOS data available: shown when parsed DOS arrays are missing or invalid.

Filtered DOS requires filters: shown when filtered mode is enabled without at least one filter.

Projected DOS required: shown when filtered plotting is requested but projected blocks are unavailable.

Auto-label fallback warning: shown when projection-based label generation fails for one or more filters.