Matplotlib - How to plot a high resolution graph?

I've used matplotlib for plotting some experimental results (discussed it in here: Looping over files and plotting. However, saving the picture by clicking right to the image gives very bad quality / low resolution images.

    from glob import glob
    import numpy as np
    import matplotlib.pyplot as plt
    import matplotlib as mpl

    # loop over all files in the current directory ending with .txt
    for fname in glob("./*.txt"):
        # read file, skip header (1 line) and unpack into 3 variables
        WL, ABS, T = np.genfromtxt(fname, skip_header=1, unpack=True)

        # first plot
        plt.plot(WL, T, label='BN', color='blue')

        plt.xlabel('Wavelength (nm)')
        plt.xlim(200,1000)
        plt.ylim(0,100)
        plt.ylabel('Transmittance, %')
        mpl.rcParams.update({'font.size': 14})
        #plt.legend(loc='lower center')
        plt.title('')
        plt.show()
        plt.clf()


        # second plot
        plt.plot(WL, ABS, label='BN', color='red')
        plt.xlabel('Wavelength (nm)')
        plt.xlim(200,1000)
        plt.ylabel('Absorbance, A')
        mpl.rcParams.update({'font.size': 14})
        #plt.legend()
        plt.title('')
        plt.show()
        plt.clf()

Example graph of what I'm looking for: example graph

You can use savefig() to export to an image file:

    plt.savefig('filename.png')

In addition, you can specify the dpi argument to some scalar value, for example:

    plt.savefig('filename.png', dpi=300)

From: stackoverflow.com/q/39870642