Printing Plots in Matlab

23 views (last 30 days)
abe Martin
abe Martin on 3 Oct 2016
Answered: Joe Yeh on 4 Oct 2016
I am trying to print a plot in Matlab and print it as a pdf but I keep encountering an error. I appreciate your help and input.
x = [2 4 7 2 4 5 2 5 1 4];
plot(x);
fig=gcf;
print(1,'-dpdf')
Warning: Files produced by the 'pdfwrite'
driver cannot be sent to printer.
File saved to disk under name 'figure1.pdf'.
> In name (line 73)
In print (line 200)
Error using name (line 102)
Cannot create output file '.\figure1.pdf'.
Error in print (line 200)
pj = name( pj );

Answers (2)

Joe Yeh
Joe Yeh on 4 Oct 2016
The problem comes from your way of calling the command. When you do :
print(1, '-dpdf')
You're telling MATLAB to send data to printer number 1. This is apparently not what you intended to do. Instead, you should do this:
print('plot.pdf', '-dpdf')
Please consult Print documentation

Guðmundur
Guðmundur on 4 Oct 2016
Try using saveas function, or switching the renderer, that might help.
x = [2 4 7 2 4 5 2 5 1 4];
filename = 'plot1';
plot(x);
set(gcf,'renderer','paint') % 'opengl' is default renderer
saveas(gcf, filename, 'pdf') % Save figure

Categories

Find more on Printing and Saving in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!