Hi,
Just to add to this discussion. I now implemented a plotting routine for bandstructures, which is close to what you are looking for I think. If I understand you correctly you want a bandstructure plot, where each band is colored according to the dominant band character (has the largest weight) at that point. The following code block shows this for highlighting the characters of the first atom. You'll need the newest available version of the masci-tools package for this
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from masci_tools.io.parsers.hdf5 import HDF5Reader
from masci_tools.io.parsers.hdf5.recipes import FleurBands
from masci_tools.vis.fleur import plot_fleur_bands_characterize
filepath='banddos.hdf'
with HDF5Reader(filepath) as h5reader:
data, attributes = h5reader.read(recipe=FleurBands)
# We need to define the weights we want to highlight and their associated color
weightNames = ["MT:1s","MT:1p","MT:1d","MT:1f"]
weightColors = ["blue","green","red","yellow"]
# Plot the bandstructure and save to a file bandstructure.png
ax = plot_fleur_bands_characterize(data, attributes, weightName, weightColors, limits={'y': (-10, 5)}, show=False, save_plots=True)
Note that this routine is by no means finished (for example points where none of the selected characters are dominant can be colored inconsitently) and feedback is welcome
Henning