MATLAB Answers


Improving Presentation of a Graph

Asked by Hollis Williams on 13 Jul 2019
Latest activity Answered by Yair Altman on 22 Jul 2019
I have produced a graph running some simulations which I would like to use in Powerpoints and whose presentation and professionalism I would like to improve.
There are few things I would like to change. Something is wrong with the resolution of the graph and the grid lines: I think this is due to the fact that I have printed and saved the graph as PNG image file: is there another type of file which I should save it as so the resolution and clarity is improved?
Secondly, the F_d/F_s on the y-axis needs to be in Maths font. Also, it seems like the analytic solutions I have plotted (corresponding to the coloured lines) have been drawn in a piecewise continuous way which interpolates in between the dots on the red curve, these dots correspond to the result from a numerical method. When you look at the graph you can see the curves are connected in a piecewise continuous way when they should just be smooth curves. Is there some way of fixing this? I can reproduce the relevant part of the code if necessary or can include more of the code if necessary.
plot(KnA, expA, 'b')
plot(KnA, slipS,'g')
fsz = 10; % Fontsize
alw = 1.5; % LineWidth
msz =10; % MarkerSize
grid on
box on
set(gca, 'FontSize', fsz, 'LineWidth', alw);
legend('Millikan exp. data' ,'Analytic-Basset','MFS-G13', 'Analytic-G13', 'Location', 'NorthEast');
ylabel('F_{d} / F_{s}')


Also, regarding the resolution I think I am supposed to save the graph in Vector Graphics and stay in EPS format (especially for journal publications), do you have any idea how I would do that?
on 14 Jul 2019
I'm certainly no whizard, no...when I did thesis and writing for publication we were still typing w/ IBM Selectrics on publication mats... :)
Best I know personally is to direct you to the documentation link
and browse from there. I do know that the File/SaveAs menu item and the function saveas both are limited in resolution and size, etc., ... while print has more options available that is probably where you need to be.
But, I've never had to deal with trying to actually publish any MATLAB work in serious journals; all my work has been as consultant to individual clients who really didn't care about format; "just the facts, Ma'am!", so I've no practical experience.
Hi dpb,
I've been able to sort the Maths font, resolution issues and interpolations for the graph, but am having trouble using the same interpolation procedure for a different graph. In this case, I basically plot a function against radius, and then plot 3 curves for different values of a parameter Kn in the function as follows:
bp = @(Kn) -(60*pi + 345*pi*Kn + 450*(1+pi)*Kn.^2)./(40*pi + 270*pi*Kn + 18*(25*pi + 18)*Kn.^2 + 648*Kn.^3);
ur = @(R,Kn) (1 + bp(Kn)./R - (1 + bp(Kn))./R.^3);
Knv = [0, 0.2, 1];
Rv = 1:10;
[Rm,Knm] = meshgrid(Rv,Knv);
plot(Rv, ur(Rm,Knm))
lgdc = sprintfc('K_n = %3.1f', Knv);
legend(lgdc, 'Location','SE')
However, this gives the below image, which clearly is composed of straight line segments as before, even though I am no longer introducing dots on the curve:

Sign in to comment.


2 Answers

Answer by Star Strider
on 18 Jul 2019
 Accepted Answer

If you want your plots to have a finer resolution with respect to ‘R’, define ‘Rv’ to have more points:
Rv = linspace(1, 10, 150);
Here it will have 150 points. You can specify any number of points you want with the third argument to linspace.


Sign in to comment.

Answer by Yair Altman on 22 Jul 2019

Regarding output quality, esp. for EPS that you mentioned - many people found the export_fig utility useful for preparing publication-quality export of Matlab figures/charts. Under the hood export_fig uses the built-in print() function, but it makes numerous small tweaks to the inputs (figure/chart properties, and print() parameters) and output (post-processing of the EPS file) that improve the resulting output file.


Sign in to comment.