pythonmatplotlib

In Matplotlib, is there a way to know the list of available output format


According to Matplotlib documentation, matplotlib.figure.save_figtakes an optional argument format (see matplotlib.figure documentation).

This parameters takes 'one of the file extensions supported by the active backend' (as said by the official documentation).

My point is: how to know, for a specific backend, the list of supported extensions?

The list of available backends is accessible thru matplotlib.rcsetup.all_backends. These backends are available in matplotlib.backends but, I do not find a way to retrieve supported extensions.


Solution

  • If you create a figure, you can get the available supported file format with the canvas object :

    import matplotlib.pyplot as plt
    fig = plt.figure()
    
    print(fig.canvas.get_supported_filetypes())
    
    >>> {
       'svgz': 'Scalable Vector Graphics', 
       'ps': 'Postscript', 
       'emf': 'Enhanced Metafile', 
       'rgba': 'Raw RGBA bitmap',
       'raw': 'Raw RGBA bitmap',
       'pdf': 'Portable Document Format', 
       'svg': 'Scalable Vector Graphics', 
       'eps': 'Encapsulated Postscript', 
       'png': 'Portable Network Graphics' 
    }
    

    and it will list all the formats in which you can output your current object.