Scatter Color Scale for Looping Script
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Adi Purwandana
el 6 de Oct. de 2023
Comentada: Dyuman Joshi
el 6 de Oct. de 2023
Dear 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 (let's say jet colormap).
Here is my code:
A = dir('*.xlsx');
numprof = length(A); %number of profile
couleur = jet(numprof);
hold on;
for nn = 1:numprof
filename = A(nn).name;
data = xlsread(filename); %
a = data(:,1);
b = data(:,2);
% Plot
scatter(lon(1),lat(1),'filled','color',couleur(nn,:)); % plot the first row value from each excel file
end
legend(compose("% d", 1:numprof),'Location','eastoutside');
This code produce this:
The scatter colors did not following jet colormap. Does anyone know the line I should add in this script?
best regards,
2 comentarios
Dyuman Joshi
el 6 de Oct. de 2023
The behaviour/functionality of scatter() is different than plot().
To clarify, you are trying to plot the first pair of points from each file?
Respuesta aceptada
Matthew Blomquist
el 6 de Oct. de 2023
Editada: Matthew Blomquist
el 6 de Oct. de 2023
One option would be to store those values into an array within the for loop, and then plot the arrays with a colormap of jet after going through the loop. Something like:
A = dir('*.xlsx');
numprof = length(A); %number of profile
figure() ;
hold on;
% Initialize
lon = zeros( numprof , 1 ) ;
lat = zeros( numprof , 1 ) ;
for nn = 1:numprof
filename = A(nn).name;
data = xlsread(filename); %
lon(nn,1) = data(1,1);
lat(nn,1) = data(1,2);
end
% For colorbar
c = 1 : numprof ;
% Plot
scatter(lon,lat,[],c,'filled');
colorbar
colormap jet
3 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Data Distribution Plots en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!