I have 3d discrete dataset where for every independent variable x and y there is a frequency value z.
I want to plot it like the chart below:
How do i do this?
Thanks

댓글 수: 2

Hint:
imagesc( magic(12) )
Edward
Edward 2013년 11월 16일
Thankyou! is there anyway i can change the 0 color to something other than blue?

댓글을 달려면 로그인하십시오.

 채택된 답변

per isakson
per isakson 2013년 11월 16일
편집: per isakson 2013년 11월 17일

1 개 추천

It requires a bit of code to make this plot.
  • select a suitable colormap (You might have to define your own. See colormapeditor.) Let ix=1 be white.
  • map the frequences to the colormap-indicies, e.g [1:64] (should have been [2:64]). Assign 1 to missing values or whatever white means.
  • use image - not imagesc
  • fix the axes ticklabels
or better(?)
  • select the colormap of your choice and add an extra row for the "missing-value-color"
  • map frequency to the "colormap" and missing-value to the "extra row".
  • the colorbar ticklabels will require some extra work
I use the approach described above. Pro: I get full control of the colors and the resulting code is fast. Con: requires some coding and testing.
pcolor might offer a simpler way. Try
x = [1:8];
y = [1:8];
z = x' * y ;
z(4:5,7) = nan;
pcolor( x, y, z )
Note, this gives a plot with 7x7 squares.

댓글 수: 2

per isakson
per isakson 2013년 11월 17일
I updated the answer
Edward
Edward 2013년 11월 18일
Thanks for the help, Ive accepted your answer!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Color and Styling에 대해 자세히 알아보기

제품

태그

질문:

2013년 11월 16일

댓글:

2013년 11월 18일

Community Treasure Hunt

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

Start Hunting!

Translated by