Comparison
matplotlib's PGF backend
- Plots will be saved as PGF commands, which are lower-level and thus less suitable for manual editing. This only really matters if you aren't going to go back to Python when you need to change things. (You can also save plots directly to PDF instead.)
- The layout will be (more or less) what the matplotlib developers intended.
- Any matplotlib plot may be exported.
tikzplotlib
- Plots will be saved as PGFPlots (TikZ), which is higher-level and suitable for manual editing.
- The details of layout will primarily be determined by PGFPlots rather than matplotlib. Which is better depends on personal preference and the capabilities of the respective programs.
- Some types of matplotlib plots may not be supported. You may have to experiment to see what works.
Other considerations
Depending on the number and complexity of your plots, inputting the PGF/PGFPlots code may be too slow. You may need to compile the PGF/PGFPlots code to PDF or another format, and input that. The TikZ externalization library may be worth looking at for this.
If you find yourself frequently switching between the LaTeX document and Python plotting code, you may want to take a look at my PythonTeX package, which allows you to include Python plotting code within the LaTeX document. With the dependency tracking features, it's possible automatically to update your plots when data changes.
pgfplots
. I don't have experience with Matplotlib2Tikz, but similar code generators have a tendency to produce bloated inelegant code (IMHO of course) that makes it difficult to make style changes easily. But both approaches are valid, and I think you might attract opinion-based answers here.