Sign in

Not a member? | Forgot your Password?

Search code

Search tips

Free PDF Downloads

A Quadrature Signals Tutorial: Complex, But Not Complicated

Understanding the 'Phasing Method' of Single Sideband Demodulation

Complex Digital Signal Processing in Telecommunications

Introduction to Sound Processing

C++ Tutorial

Introduction of C Programming for DSP Applications

Fixed-Point Arithmetic: An Introduction

Cascaded Integrator-Comb (CIC) Filter Introduction

IIR Filter Design Software

See Also

Embedded SystemsFPGA

DSP Code Sharing > Saving a Matlab figure to file using command-line

Saving a Matlab figure to file using command-line

Language: Matlab

Processor: Not Relevant

Submitted by on Sep 30 2011

Licensed under a Creative Commons Attribution 3.0 Unported License

Saving a Matlab figure to file using command-line


Once again, this is another example that Matlab does weird things with its figure window.  If you use the default function "saveas" it does not save the exact size as it is viewed on your screen.  For example, you sized your window to be 400px tall by 1000px wide... but it saves as whatever your screen resolution is (1600x1200 in my case). 

This was very frustrating to me because I was exporting these graphic files and I needed it to maintain the exact same scale for visualization.  After much searching online, I found that there is a secret un-documented matlab function that can accomplish this... but only for graphics.  If you want to save it as a *.fig, then you need to use saveas.  The below function tries to provide a common interface for saving your figures.

function save_fig(h, name, format)
% Matlab has a wierd way of saving figures and keeping the plot looking
% exactly the way it does on your screen.  Thi function simplifies the
% entire process in a way that is barely documented.
% Usage:      SAVE_FIG(h, name, format);
%             H is the handle to the figure.  This can be obtain in the
%               following manner:  H = figure(1);
%             NAME is the filename without extension
%             FORMAT is the graphic format.  Options are:
%                   'bmpmono'    BMP monochrome BMP
%                   'bmp16m'     BMP 24-bit BMP
%                   'bmp256'     BMP 8-bit (256-color)
%                   'bmp'        BMP 24-bit    
%                   'meta'       EMF
%                   'eps'        EPS black and white
%                   'epsc'       EPS color
%                   'eps2'       EPS Level 2 black and white
%                   'epsc2'      EPS Level 2 color
%                   'fig'        FIG Matlab figure file
%                   'hdf'        HDF 24-bit
%                   'ill'        ILL (Adobe Illustrator)
%                   'jpeg'       JPEG 24-bit
%                   'pbm'        PBM (plain format) 1-bit
%                   'pbmraw'     PBM (raw format) 1-bit
%                   'pcxmono'    PCX 1-bit
%                   'pcx24b'     PCX 24-bit color PCX file format
%                   'pcx256'     PCX 8-bit newer color (256-color)
%                   'pcx16'      PCX 4-bit older color (16-color)
%                   'pdf'        PDF Color PDF file format
%                   'pgm'        PGM Portable Graymap (plain format)
%                   'pgmraw'     PGM Portable Graymap (raw format)
%                   'png'        PNG 24-bit
%                   'ppm'        PPM Portable Pixmap (plain format)
%                   'ppmraw'     PPM Portable Pixmap (raw format)
%                   'svg'        SVG Scalable Vector Graphics
%                   'tiff'       TIFF 24-bit
% Author: sparafucile17

    saveas(h, name, 'fig');
    options.Format = format;
    hgexport(h, name, options);
Rate this code snippet:
Rating: 5 | Votes: 2
posted by


No comments yet for this code

Add a Comment
You need to login before you can post a comment (best way to prevent spam). ( Not a member? )