MATLAB Answers

Improving Presentation of a Graph

54 views (last 30 days)
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.
figure
plot(KnA, expA, 'b')
hold
plot(KnA, slipS,'g')
fsz = 10; % Fontsize
alw = 1.5; % LineWidth
msz =10; % MarkerSize
plot(KnA,gradS,'.','MarkerSize',msz,'MarkerFaceColor','blue')
plot(KnA,G13An,'r')
grid on
box on
set(gca, 'FontSize', fsz, 'LineWidth', alw);
legend('Millikan exp. data' ,'Analytic-Basset','MFS-G13', 'Analytic-G13', 'Location', 'NorthEast');
xlabel('Kn')
ylabel('F_{d} / F_{s}')
print('Youngincl','-dpng','-r300');
  10 Comments
Hollis Williams
Hollis Williams on 18 Jul 2019
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);
figure
plot(Rv, ur(Rm,Knm))
grid
xlabel('R')
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.

Accepted Answer

Star Strider
Star Strider on 18 Jul 2019
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.

More Answers (2)

Yair Altman
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.

atharva aalok
atharva aalok on 17 Oct 2021
Please refer the following Plotting Template:
The above is an easy to follow Beginner Friendly template.
The idea is to create Professional Standard Plots within seconds without a steep learning curve and with consistency.
It also offers a wide range of preset Color Codes (please refer the attached image for the Color Palatte)
Sample Plot:
Color Palatte:

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by