Hello everyone,
I have some excel files. Each file containing some columns of parameter. I want to plot all of them in one graph with different color gradation (let's say jet colormap).
Below is my existing code from the begining but it failed to plot what I want (I don't know why, this code only plots one file/profile). Does Anyone know the lines I should modify?
best regards,
A=dir('*.xlsx'); %xls
for nn = 1:length(A)
filename = A(nn).name;
data = xlsread(filename); %
z = data(:,1); %first column
s = data(:,2);
t = data(:,3);
numprof = length(A); %number of profile
couleur = jet(numprof);
for nprf= 1:numprof
plot(s,t,'LineWidth',1,'color',couleur(nprf,:));
%legend of plot (?)
end
end

댓글 수: 5

Add
hold on;
after first line.
Adi Purwandana
Adi Purwandana 2023년 10월 5일
Thank you, it shows all profiles now but with the same color, not different as jet colormap.
Dyuman Joshi
Dyuman Joshi 2023년 10월 5일
"I want to plot all of them in one graph with different color gradation (let's say jet colormap)."
You are plotting lines, which only have a single color assigned/attributed to them.
If you want to have color gradation, you will have to plot a surface or use scatter.
Adi Purwandana
Adi Purwandana 2023년 10월 5일
I want something like this.... this plot is using jet as the colormap. I don't think it should be scatter or surface to get.
Dyuman Joshi
Dyuman Joshi 2023년 10월 5일
Okay, you mean different colors for different plots. See my answer below.

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

 채택된 답변

Dyuman Joshi
Dyuman Joshi 2023년 10월 5일

0 개 추천

There is no need of the 2nd for loop, remove it. I have taken random data for example to show a working code below.
Secondly, use readmatrix instead of the depreacted xlsread.
A=dir('*.xlsx'); %xls
%% Random value
numprof = 10; %length(A); %number of profile
couleur = jet(numprof);
%% Call a figure
figure
%% hold on to retain plots on the same figure
hold on
for nn = 1:numprof
%filename = A(nn).name;
%data = xlsread(filename); %
%z = data(:,1); %first column
%% Random data for example
s = rand(1,6);
t = rand(1,6);
plot(s,t,'LineWidth',1,'color',couleur(nn,:));
end
hold off
legend(compose("%d", 1:numprof))

댓글 수: 2

Adi Purwandana
Adi Purwandana 2023년 10월 5일
It works fine. Thank you @Dyuman Joshi
Dyuman Joshi
Dyuman Joshi 2023년 10월 5일
You are welcome!

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Orange에 대해 자세히 알아보기

제품

릴리스

R2022a

질문:

2023년 10월 5일

댓글:

2023년 10월 5일

Community Treasure Hunt

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

Start Hunting!

Translated by