Creating a simple contour plot / Heat map

63 views (last 30 days)
I have edited this question to try to make it more clear:
As an example, I have the following arrays:
a =
1 2 3
1 2 3
b =
2 3 4
5 6 7
c =
3 4 5
6 7 8
contour(a,b,c) will give me something like this:
I want it to look like this though:
How can I fix this?
PS: Additional Confusion. On the first picture, why does the line go to put a value at (1.5,2.5)? I didnt list an (a,b) of those values together..
  2 Comments
Andrew Reibold
Andrew Reibold on 28 Aug 2014
Edited: Andrew Reibold on 28 Aug 2014
If I call the arrays X, Y and Value instead, I just want to make a 'heat map' of Value where each value is at the corresponding 2d location (X,Y)
In the example above, I want the value 70 plotted at (0,10). I want the value 65 plotted at (.01,8) and so on. I want the values displayed via color. Planning for a colorbar on the side.

Sign in to comment.

Accepted Answer

Kelly Kearney
Kelly Kearney on 28 Aug 2014
Edited: Kelly Kearney on 28 Aug 2014
pcolor(a,b,c);
shading interp;
colorbar;
The contour function plots contour lines, i.e. lines of constant value. Your function is constant across the horizontal, hence the horizontal contour lines. The contourf function would get you a bit closer to what you want, in that it shades between contour lines. But pcolor is best for showing interpolated values between your data points.
  1 Comment
Andrew Reibold
Andrew Reibold on 28 Aug 2014
Edited: Andrew Reibold on 28 Aug 2014
Thanks Kelly, pretty much exactly what I was trying to do.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by