Chcę narysować funkcję f
podana jako 2 wektory: x
i y
, czyli y=f(x)
. używam plot(x,y)
, ale teraz muszę być niebieski powyżej 0 i czerwona pod więc wyglądać następująco:Dwukolorowa działka Matlab
5
A
Odpowiedz
8
Kiedy wykreślić wektor w MATLAB, każdy segment tego wektora, który jest wypełniony Nans nie zostaną wykreślone. Tak więc jedna sztuczka do osiągnięcia celu polega na wykreśleniu drugiej linii na pierwotnej, z odpowiednimi segmentami usuniętymi przy użyciu Nans. Na przykład,
x = linspace(1,100,1000);
y = sin(x);
% Using a cutoff of y>=0.5
belowCutoff = y;
belowCutoff(y>=0) = NaN; % Replace points above cutoff with NaNs;
figure;
plot(x,y,'r',x, belowCutoff, 'b');
1
y0 = 0; % threshold
color1 = [1 0 0]; % below threshold
color2 = [0 0 1]; % above threshold
x = 1 : 10;
y = randn(1, 10);
threshold_plot(x, y, y0, color1, color2);
function threshold_plot(x, y, y0, color1, color2)
hold on;
n = length(x);
for i = 2 : n
x1 = x(i - 1); y1 = y(i - 1);
x2 = x(i); y2 = y(i);
ascending = y1 < y2;
if x1 == x2
if ascending
plot([x1 x2], [y1, y0], 'Color', color1);
plot([x1 x2], [y0, y2], 'Color', color2);
else
plot([x1 x2], [y1, y0], 'Color', color2);
plot([x1 x2], [y0, y2], 'Color', color1);
end;
elseif y1 == y2
if threshold <= y1
plot([x1 x2], [y1 y2], 'Color', color2);
else
plot([x1 x2], [y1 y2], 'Color', color1);
end;
else
a = (y2 - y1)/(x2 - x1);
b = y1 - a * x1;
x0 = (y0 - b)/a;
if x1 <= x0 && x0 <= x2
if ascending
plot([x1 x0], [y1, y0], 'Color', color1);
plot([x0 x2], [y0, y2], 'Color', color2);
else
plot([x1 x0], [y1, y0], 'Color', color2);
plot([x0 x2], [y0, y2], 'Color', color1);
end;
else
if y0 <= y1
plot([x1 x2], [y1 y2], 'Color', color2);
else
plot([x1 x2], [y1 y2], 'Color', color1);
end;
end;
end;
end;
Powiązane problemy
- 1. Działka skrzypcowa Matlab
- 2. Działka Matlab z dostosowywaniem koloru
- 3. Dwukolorowa ramka
- 4. Generowanie Działka dla szeregów czasowych w MATLAB
- 5. Działka wewnątrz pętli w programie MATLAB
- 6. MATLAB Działka Wignera dla pasujących atomów ataku
- 7. Działka macierzysta w matplotlib?
- 8. działka vlines z matplotlib.pyplot
- 9. Julia: matryca Działka Gadfly.jl
- 10. Panda prosta X-działka
- 11. Pusta działka w R
- 12. działka nie jest zdefiniowana
- 13. Działka interaktywna R?
- 14. MySQL dwukolorowa sygnatura czasowa domyślnie TERAZ BŁĄD 1067
- 15. animacja Działka w knitr rmarkdown
- 16. działka pythona ipython nie pokazuje
- 17. matplotlib działka jest nie-show
- 18. Zagnieżdżony aspekt działka z ggplot2
- 19. Python pylab działka normalna dystrybucja
- 20. ggplot2: Działka na myśli geom_bar
- 21. Atrakcyjna działka 3D w R
- 22. Działka nad histogramy zmiennych czynników
- 23. Generowanie lognormalnych liczb losowych w MATLAB?
- 24. R: działka 4D, x, y, z, kolory
- 25. działka ggplot2 bez osi, legend, itp.
- 26. Działka różne DataFrames na tym samym rysunku
- 27. 3D działka scatter pozostaje pusty w spiskim
- 28. R: RStudio: Jak działa działka ze wzorem?
- 29. Pandy działka z errorbar: styl nie stosuje
- 30. Działka drzewo z graph.tree funkcji z igraph
Jest to skrypt na stronie wymiany plików MATHWORKS na ten zwany warunkowo kolorowa linia fabuły http://www.mathworks.co. uk/matlabcentral/fileexchange/30423-warunkowo-kolorowy-linia-działka – KatyB