Exporting image to bounded pdf
Show older comments
If I do this:
set(gcf,'PaperPosition',[0,0,4,3]) print -depsc2 filename.eps
I get a nice image I can include in a latex document. However, if I need to use pdflatex, then I need a pdf image. Now, I know I can use epstopdf to convert the above eps image to pdf, and it works very well, but I wonder if I can do this directly from Matlab. When I try:
set(gcf,'PaperPosition',[0,0,4,3]) print -dpdf filename.pdf
I get a full page, with the image in the lower left corner. Now, I know of tools I can use to crop this result, but I am wondering if I can do this directly in Matlab code.
David Arnold College of the Redwoods Eureka, CA 95501
Accepted Answer
More Answers (3)
Junaid
on 24 Jan 2012
follow code generated good pdf check
close all;
t=linspace(0,2*pi,500);
P=1/17*exp(-t).*(4*sin(4*t)-cos(4*t))+18/17;
plot(t,P)
xlabel('$t$-axis',...
'interpreter','latex',...
'FontSize',10)
ylabel('$P$-axis',...
'interpreter','latex',...
'FontSize',10)
title('$P''=e^x/(y+1)$',...
'interpreter','latex',...
'FontSize',12)
grid on
axis tight
set(gcf, 'PaperPosition', [0 0 5 5]); %Position plot at left hand corner with width 5 and height 5.
set(gcf, 'PaperSize', [5 5]); %Set the paper to have width 5 and height 5.
saveas(gcf, 'test', 'pdf') %Save figure
Make sure to put width and height to 5
set(gcf, 'PaperPosition', [0 0 5 5]); %Position plot at left hand corner with width 5 and height 5.
set(gcf, 'PaperSize', [5 5]); %Set the paper to have width 5 and height 5.
saveas(gcf, 'test', 'pdf') %Save figure
2 Comments
David Arnold
on 24 Jan 2012
Junaid
on 25 Jan 2012
I m sorry David, I didn't get what you mean by dimensions. If you mean the x and y label/ticks then you can set manually.
set(gca,'YTick',[1.0 1.05 1.10 1.15 1.2 ]);
or even exactly whatever your values are.
Florin Neacsu
on 24 Jan 2012
1 vote
Hi,
The most popular file of fileexchange might do the trick:
Regards, Florin
3 Comments
David Arnold
on 24 Jan 2012
David Arnold
on 24 Jan 2012
Florin Neacsu
on 24 Jan 2012
Hello,
You can set grid line width with the axes LineWidth property, but this will changes both the axes and the grid.
Also you change the style of the grid lines with
set(gca,'GridLineStyle','-')
Unfortunately there is not something like
set(gca,'GridLineWidth',10)
HTH,
Florin
David Arnold
on 25 Jan 2012
0 votes
Categories
Find more on Graphics Object Properties in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!