fitting a graph and coloring each fit

2 visualizaciones (últimos 30 días)
dareen
dareen el 22 de Jun. de 2024
Editada: dpb el 23 de Jun. de 2024
i wrote the following code % Color settings
r_220_w = [10.78, 20.33, 24, 27.7, 35.86, 32.5, 33.2, 30.75, 36.83, 33.44, 32.8, 45.66, 33.04, 39, 50.45, 34.78, 4.96];
r_220_aw = [0.01, 0.02, 0.02, 0.03, 0.02, 0.02, 0.02, 0.01, 0.02, 0.02, 0.02, 0.02, 0.02, 0.1, 0.05, 0.03, 0.03];
r_220_v = [1.02, 1.42, 1.82, 2.62, 5.92, 7, 8.24, 4.48, 4.64, 8.44, 7.5, 1.2, 8.01, 2.91, 0.87, 7.72, 0.973];
r_220_av = [0.01, 0.01, 0.02, 0.01, 0.01, 0.05, 0.01, 0.01, 0.05, 0.05, 0.1, 0.05, 0.05, 0.01, 0.01, 0.1, 0.001];
r_10_w = [33.05, 33.14, 33.1, 33.3, 31.1, 32.7, 35.9, 37.2, 22.9, 20.3, 33.7, 40.4, 27.07, 51.1, 34.45, 10.7, 4.97];
r_10_aw = [0.1, 0.05, 0.1, 0.1, 0.1, 0.1, 0.1, 0.3, 0.2, 0.1, 0.1, 0.1, 0.05, 0.1, 0.01, 0.1, 0.02];
r_10_v = [12.9, 13.5, 13.2, 13.8, 5.5, 10.8, 6.9, 4.57, 1.76, 1.52, 14.2, 2.4, 2.56, 0.77, 11.8, 1.02, 0.973];
r_10_av = [0.2, 0.2, 0.1, 0.1, 0.3, 0.1, 0.2, 0.02, 0.01, 0.01, 0.1, 0.1, 0.1, 0.01, 0.1, 0.1, 0.01];
r_2000_w = [52.67, 46.18, 39.33, 35.12, 34.12, 33.55, 10.91, 15.81, 20.77, 25.39, 29.21, 31.21, 42.96, 37.35, 4.98];
r_2000_v = [0.608, 0.888, 1.44, 1.8, 1.84, 1.88, 1.02, 1.13, 1.31, 1.56, 1.8, 1.88, 1.13, 1.62, 0.973];
r_2000_aw = [0.01, 0.02, 0.03, 0.01, 0.01, 0.03, 0.01, 0.01, 0.03, 0.02, 0.01, 0.02, 0.03, 0.02, 0.02];
r_2000_av = [0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.02, 0.01, 0.01, 0.01, 0.02, 0.01, 0.02, 0.01, 0.05];
r_1000_w = [34.71, 33.4, 32.5, 33, 35.56, 47.05, 37.6, 30.01, 10.53, 15.84, 20.75, 25, 31.97, 40.34, 44.03, 52.78, 4.96];
r_1000_v = [3.2, 3.35, 3.25, 3.3, 3.05, 0.976, 2.5, 2.74, 1.02, 1.18, 1.42, 1.82, 3.16, 1.86, 1.28, 0.664, 0.973];
r_1000_aw = [0.1, 0.02, 0, 0.1, 0.03, 0.02, 0.05, 0.03, 0.02, 0.01, 0.05, 0.03, 0.03, 0.02, 0.02, 0.02, 0.03];
r_1000_av = [0.01, 0.1, 0.01, 0.01, 0.03, 0.001, 0.01, 0.02, 0.01, 0.01, 0.02, 0.01, 0.01, 0.02, 0.01, 0.1, 0.001];
data = {
r_1000_w, r_1000_v, r_1000_av, r_1000_av, r_1000_aw, r_1000_aw;
r_2000_w, r_2000_v, r_2000_av, r_2000_av, r_2000_aw, r_2000_aw;
r_220_w, r_220_v, r_220_av, r_220_av, r_220_aw, r_220_aw;
r_10_w, r_10_v, r_10_av, r_10_av, r_10_aw, r_10_aw
};
color = [1 0.38 0.53]; % Specify your desired color
lineWidth = 1.5; % Specify the line width
% % Loop through each dataset and plot error bars
for i = 1:size(data, 1)
errorbar(data{i, 1}, data{i, 2}, data{i, 3}, data{i, 4}, data{i, 5}, data{i, 6}, ...
'.', 'Color', color, 'LineWidth', lineWidth);
hold on;
end
it is really hard to see since the same color is being used for all of them i thought it would switch in the range given with each graph , and also if i want to do a fit using cftool and then import it and add it to a sepreat graph without the error bars so that each fit has a color how can i possibly do that
  3 comentarios
dareen
dareen el 22 de Jun. de 2024
thank you but i am intersted in keeping the speciified range and ploting the same graph since the colors that i get from there seem more well toned , i tried before without the region yet it was messy with the region it is hard to see whats happening
dareen
dareen el 22 de Jun. de 2024
but certainly a helpful comment it is just that i am also searching for either a possibility to choose the color for a fit in cftool such that each fit has a color or the color for each graph in error bar without manually entring colors for each additional input

Iniciar sesión para comentar.

Respuesta aceptada

dpb
dpb el 22 de Jun. de 2024
Movida: dpb el 22 de Jun. de 2024
It's hard to understand why you would think using a single color triplet would do anything other than use the one color for all? As @Ganesh points out, if you don't set a color at all, MATLAB will cycle through the default color map sequentially. Agreed, it's a pretty extreme set of colors one to the next that way but you can change and define your own colormap. Otherwise, you would need to explicitly define the color triplet for each plot in an array and iterate the color with the data in the loop.
r_220_w = [10.78, 20.33, 24, 27.7, 35.86, 32.5, 33.2, 30.75, 36.83, 33.44, 32.8, 45.66, 33.04, 39, 50.45, 34.78, 4.96];
r_220_aw = [0.01, 0.02, 0.02, 0.03, 0.02, 0.02, 0.02, 0.01, 0.02, 0.02, 0.02, 0.02, 0.02, 0.1, 0.05, 0.03, 0.03];
r_220_v = [1.02, 1.42, 1.82, 2.62, 5.92, 7, 8.24, 4.48, 4.64, 8.44, 7.5, 1.2, 8.01, 2.91, 0.87, 7.72, 0.973];
r_220_av = [0.01, 0.01, 0.02, 0.01, 0.01, 0.05, 0.01, 0.01, 0.05, 0.05, 0.1, 0.05, 0.05, 0.01, 0.01, 0.1, 0.001];
r_10_w = [33.05, 33.14, 33.1, 33.3, 31.1, 32.7, 35.9, 37.2, 22.9, 20.3, 33.7, 40.4, 27.07, 51.1, 34.45, 10.7, 4.97];
r_10_aw = [0.1, 0.05, 0.1, 0.1, 0.1, 0.1, 0.1, 0.3, 0.2, 0.1, 0.1, 0.1, 0.05, 0.1, 0.01, 0.1, 0.02];
r_10_v = [12.9, 13.5, 13.2, 13.8, 5.5, 10.8, 6.9, 4.57, 1.76, 1.52, 14.2, 2.4, 2.56, 0.77, 11.8, 1.02, 0.973];
r_10_av = [0.2, 0.2, 0.1, 0.1, 0.3, 0.1, 0.2, 0.02, 0.01, 0.01, 0.1, 0.1, 0.1, 0.01, 0.1, 0.1, 0.01];
r_2000_w = [52.67, 46.18, 39.33, 35.12, 34.12, 33.55, 10.91, 15.81, 20.77, 25.39, 29.21, 31.21, 42.96, 37.35, 4.98];
r_2000_v = [0.608, 0.888, 1.44, 1.8, 1.84, 1.88, 1.02, 1.13, 1.31, 1.56, 1.8, 1.88, 1.13, 1.62, 0.973];
r_2000_aw = [0.01, 0.02, 0.03, 0.01, 0.01, 0.03, 0.01, 0.01, 0.03, 0.02, 0.01, 0.02, 0.03, 0.02, 0.02];
r_2000_av = [0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.02, 0.01, 0.01, 0.01, 0.02, 0.01, 0.02, 0.01, 0.05];
r_1000_w = [34.71, 33.4, 32.5, 33, 35.56, 47.05, 37.6, 30.01, 10.53, 15.84, 20.75, 25, 31.97, 40.34, 44.03, 52.78, 4.96];
r_1000_v = [3.2, 3.35, 3.25, 3.3, 3.05, 0.976, 2.5, 2.74, 1.02, 1.18, 1.42, 1.82, 3.16, 1.86, 1.28, 0.664, 0.973];
r_1000_aw = [0.1, 0.02, 0, 0.1, 0.03, 0.02, 0.05, 0.03, 0.02, 0.01, 0.05, 0.03, 0.03, 0.02, 0.02, 0.02, 0.03];
r_1000_av = [0.01, 0.1, 0.01, 0.01, 0.03, 0.001, 0.01, 0.02, 0.01, 0.01, 0.02, 0.01, 0.01, 0.02, 0.01, 0.1, 0.001];
data = {
r_1000_w, r_1000_v, r_1000_av, r_1000_av, r_1000_aw, r_1000_aw;
r_2000_w, r_2000_v, r_2000_av, r_2000_av, r_2000_aw, r_2000_aw;
r_220_w, r_220_v, r_220_av, r_220_av, r_220_aw, r_220_aw;
r_10_w, r_10_v, r_10_av, r_10_av, r_10_aw, r_10_aw
};
color = [1 0.38 0.53]; % Specify your desired color
lineWidth = 1.5; % Specify the line width
% Loop through each dataset and plot error bars
hold on;
for i = 1:size(data, 1)
errorbar(data{i, 1}, data{i, 2}, data{i, 3}, data{i, 4}, data{i, 5}, data{i, 6}, ...
'.', 'LineWidth', lineWidth);
end
colormap(autumn)
  8 comentarios
dpb
dpb el 22 de Jun. de 2024
Editada: dpb el 23 de Jun. de 2024
I also agree that while the top level tools and default values do allow for rapid deployment and initial results, the overhead in customizing those out-of-the-box graphics to be anything more than that for publication or even presentation to a valuable client is a great time waster and a very nonproductive use of manhours towards the end goal of either the research project or a customer deliverable.
dpb
dpb el 22 de Jun. de 2024
It is probably worth a search on the File Exchange to see if anybody has posted any custom colormaps...

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by