Matplotlib is a plotting library like GNUplot. The main advantage towards GNUplot is the fact that Matplotlib is a Python module and is supported and used by a huge community.
If Matplotlib is used in combination with Numpy and Scipy, it is a match for the Matlab. While Matlab is expensive and commercial - and as such closed source code -, Matplotlib is free and open source code.
It provides an object-oriented API for embedding plots into applications using general-purpose GUI toolkits like wxPython, Qt, or GTK+.
matplotlib can be used in python scripts, the python and ipython shell (ala MATLAB® or Mathematica®), web application servers, and six graphical user interface toolkits.
It can generate plots, histograms, power spectra, bar charts, errorcharts, scatterplots, etc, with just a few lines of code.