a function that draws a plot and use an input for the filename of the plot

1 view (last 30 days)
To continue,
In my Livescript called test.mlx, I have variables
days
temperatures
I now want to write a function m file that outputs a plot with specification as
plot(days, temperatures)
legend('temperatures')
title('Figure figurenumber. Temperatures')
saveas(gca,'c:\Figure_figurenumber')
Then, what I did is to write a function m file called plot1.m
function plot_test(series1, series2, figurenumber)
plot(series1, series2)
legend('series2')
titlename=['Figure',num2str(figurenumber)]
title(titlename)
end
Then how should one understand the
saveas
part?

Accepted Answer

Codeshadow
Codeshadow on 1 Jun 2020
See below for sample code:
close all
% Initialize some data
temperatures = rand(1,30)*35;
plot_test(temperatures, 1);
function plot_test(temperatures, figurenumber)
% Plot data
figure()
plot(temperatures);
legend('temperatures');
% Create title
titlename = ['Figure ' num2str(figurenumber)];
title(titlename);
% Create save location
% Make sure to specify the format of the image you want to save at the end.
% pwd will save your file to the current working directory. If you have a specific save location
% in mind, specify the absolute file path.
fileName = ['Figure_' num2str(figurenumber) '.jpg'];
saveas(gcf, fullfile(pwd, fileName))
end

More Answers (1)

Codeshadow
Codeshadow on 1 Jun 2020
You can use a sprintf command in your function as:
saveLocation = sprintf(‘C:\Figure_%d.jpg’, figurenumber);
saveas(gcf, saveLocation)

Tags

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!