Plot with background colors depending on the y values

This is my data
data = [1 2 3 4 5 6 7 8 9 10 ; 0.2 0.5 0.1 0.02 0.04 3 6 7 0.01 0.05];
In fact, I have a similar data frame but with a large amount of values (it is about 25 000 rows and 2 columns (x and y))
And I want to obtain this graph in which the background color depends on the yvalue (here : blue for yvalue < 1 and brown for yvalue > 1)
Thanks for help !

Answers (1)

data = [1 2 3 4 5 6 7 8 9 10 ; 0.2 0.5 0.1 0.02 0.04 3 6 7 0.01 0.05];
x = data(1,:) ; y = data(2,:) ;
[X,Y] = meshgrid(x,y) ;
pcolor(X,Y,Y) ; shading interp
hold on
plot(x,y,'b')

4 Comments

It is not really that I want
To rephrase : I want to attribute, to each x value, a specific color which depends on the y value
The code does what you shown in image...why don't you show a pictorial example of what you expect.
You can also use patch() or fill() in place of pcolor().
I got it ! But I used bar() (to create histogram) instead of patch() or pcolor()

Sign in to comment.

Categories

Asked:

on 12 Oct 2017

Commented:

on 12 Oct 2017

Community Treasure Hunt

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

Start Hunting!