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

2 views (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)

Categories

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

Tags

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!