Ich habe 3 verschiedene Datensätze, aus denen ich ein Streudiagramm erstellt habe. Verschiedene Datensätze, die ich in verschiedenen Farben codiert habe.Wie wird mit MATLAB die Farbe der kleinsten Quadrate in die gleiche Farbe wie im entsprechenden Scatter-Plot eingestellt?
Mein Code sieht wie folgt aus:
clear all;
close all;
% my colormap
colormap = [0, 0, 0
0.5, 0.5, 0.5
0, 0.5, 0.5];
% x values of 3 different datasets
xvalues = [10 20 30; 35 65 95; 22 42 82];
% y values of 3 different datasets
yvalues = [1 2 3; 6 12 24; 2 4 8];
figure;
axis([0 90 0 30]);
% loop for each dataset
for i = 1:3
x = xvalues(i,:);
y = yvalues(i,:);
scatter(x,y, 60, colormap(i,:)); hold on;
end
Jetzt würde ich der kleinsten Quadrate Linien für jeden der Daten-Set in der Farbe des jeweiligen Datensatz hinzufügen.
ich am Ende des Codes hinzugefügt:
% add least-squares lines to scatter plot
h = lsline;
set(h,'linewidth',2,'color',colormap(i,:));
Dadurch wird die kleinsten Quadrate Linien hinzufügen - alle mit der gleichen Farbe.
Wie kann ich geben jedem der kleinsten Quadrate Linien die Farbe für die jeweiligen Datensätze in dem Streudiagramm verwendet
Danke. Habe ich es richtig verstanden, dass das ersetzt: h = lsline; set (h, 'linienbreite', 2, 'color', colormap (i, :)); nach diesem Code: hlines = lsline; für k = 1: numel (hlines) set (hlines (k), 'farbe', colormap (i, :)) end sollte die arbeit tun? Leider bekomme ich die gleiche Ausgabe. Alle Zeilen haben die gleiche Farbe. –
@anneu Es sieht so aus, als hätten Sie es gepackt, während es einen Tippfehler gab. Sie haben Recht, welche Zeilen ersetzt werden sollen, aber es sollte 'colormap (k, :)' statt colormap (i, :) 'sein. Siehe den aktualisierten Code oben – Suever