How to get this kind of plot

2 visualizaciones (últimos 30 días)
Edward
Edward el 16 de Nov. de 2013
Comentada: Edward el 18 de Nov. de 2013
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 comentarios
per isakson
per isakson el 16 de Nov. de 2013
Hint:
imagesc( magic(12) )
Edward
Edward el 16 de Nov. de 2013
Thankyou! is there anyway i can change the 0 color to something other than blue?

Iniciar sesión para comentar.

Respuesta aceptada

per isakson
per isakson el 16 de Nov. de 2013
Editada: per isakson el 17 de Nov. de 2013
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 comentarios
per isakson
per isakson el 17 de Nov. de 2013
I updated the answer
Edward
Edward el 18 de Nov. de 2013
Thanks for the help, Ive accepted your answer!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Blue en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by