필터 지우기
필터 지우기

How to write a function that returns a graph?

조회 수: 189 (최근 30일)
Larry
Larry 2014년 2월 20일
댓글: Emir Dönmez 2023년 2월 27일
If I write a function like
function A = myplot(x,y)
A = plot(x,y);
set(Aetc....)
end
When I call this function, a lot of numbers instead of a plot are shown. If modify the code as follows,
function A = myplot(x,y)
plot(x,y)
end
then an error occurs as output argument "A" is not assigned during the call to the function.
How may I correct this?

채택된 답변

Dishant Arora
Dishant Arora 2014년 2월 20일
your 2nd syntex shouldn't give any error, you need to not specify output argument while calling the function from command prompt:
a = myplot(x,y) % will result in error as a isn't defined
myplot(x,y) % will give you desired result
Moreover you also don't need to have any output arguments while defining the function:
function myplot(x,y)
%function body
end
  댓글 수: 1
Emir Dönmez
Emir Dönmez 2023년 2월 27일
On my project i wrote code and it works fine but i want to add a function to plot so ı'm trying to call my plot funciton without defining any output arguements. How can ı call it? I'm newbie, i basical expressions.
This is the function ı'm trying to call:
Main_path = "C:\Users\emird\AppData\Local\Programs\MatLab"
function plotter(files, Main_path)
Exceldir = Main_path + "\ExcelFiles";
cd(Exceldir); % Change current directory
for i=1:length(files)
% Get sheet names being in the excel file.
sheets = sheetnames(files(i).name); % Sheets array.
% Get whole datas inside the excel files month by month.
for j=1:length(sheets)
data = readtable(files(i).name, "Sheet", sheets(j));
days = 1:1:size(data.Date); % Days array.
hold on;
plot(data.number_sold, days, "b.", "LineWidth", 2) % xAxis = sold_number
% yAxis = days
end
end
hold off;
end

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Wayne King
Wayne King 2014년 2월 20일
You can simply not have an output argument
function myplot(x,y)
plot(x,y)
end
That's one way

Walter Roberson
Walter Roberson 2014년 2월 21일
Remember, the return value from a plot() call is a handle graphics handle (or vector of them.) The actual plot resides in graphics memory.

카테고리

Help CenterFile Exchange에서 2-D and 3-D Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by