displaying specific range of data with different color in a plot

I have a data say x and y vectors. I want to plot x and y, however I want certain part to have different color from the others. How can I get it done.

Answers (2)

I know of no other way as splitting the x into those different parts that you need to color differently. E.g., to plot negative values in red and positive values in blue:
x = -10:0.1:10;
plot(x(x<=0), sin(x(x<=0)), 'r', x(x>=0), sin(x(x>=0)), 'b')
Here's my solution. Disregard the 'if true' 'end' statements. I'm not sure how to get rid of them without changing the rest to just simple text and not code.
if true
figure()
hold on
scatter(t(1:278), predicted(1:278), 'or'); % Plot red circles for elements 1:278
scatter(t(279:end), predicted(279:end), 'ob'); % Plot blue circles for the remaining elements
end

1 Comment

Hi,
I tried your method but it drew another line instead of completing the rest of the plot
plot(BAPred(1:300))
hold on
plot(BAPred(300:end))

Sign in to comment.

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Tags

Asked:

on 26 Nov 2014

Commented:

on 5 May 2020

Community Treasure Hunt

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

Start Hunting!