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')
plotter = DosPlotter()
plotter.add_dos('Total DOS', dos=dos_data)
plotter.add_dos_dict(dos_data.get_spd_dos())
plotter.get_plot(xlim=(-10, 10),ylim=())
plt.savefig('dos.png', dpi=500)
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。