能带-态密度画图

import matplotlib.pyplot as plt
from pymatgen.io.vasp.outputs import Vasprun
from pymatgen.electronic_structure.plotter import BSDOSPlotter,\
BSPlotter,BSPlotterProjected,DosPlotter

# read vasprun.xml,get band and dos information
bs_vasprun = Vasprun("./vasprun.xml",parse_projected_eigen=True)
bs_data = bs_vasprun.get_band_structure(line_mode=True)

dos_vasprun=Vasprun("./vasprun.xml")
dos_data=dos_vasprun.complete_dos

# set figure parameters, draw figure
banddos1_fig = BSDOSPlotter(bs_projection=None, dos_projection=None, vb_energy_range=5, fixed_cb_energy=5)
banddos1_fig.get_plot(bs=bs_data, dos=dos_data)
plt.savefig('banddos.png')

pbandpdos2_fig = BSDOSPlotter(bs_projection='elements', dos_projection='elements',\
                             vb_energy_range=5, fixed_cb_energy=5)
pbandpdos2_fig.get_plot(bs=bs_data, dos=dos_data)
plt.savefig('pbandpdos.png')

band2_fig = BSPlotter(bs=bs_data)
band2_fig.plot_brillouin()
plt.savefig('brillouin.png')

所得图像如下所示:
pymatgen画band-dos图
pymatgen画band-dos图


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。