How to plot a Map with 2 dimensional colorbar?

16 visualizaciones (últimos 30 días)
sid Chen
sid Chen el 14 de Oct. de 2019
Comentada: sid Chen el 15 de Oct. de 2019
Hi, I want to plot like this figure.
My question is how to get colorbar like this one, the shape of the figure( like this map) doesn`t matter( Now it`s a gobal spatial pattern, it could be anything else)
at each point on the map, I have 2 values, mapping to one color in the two dimensional colorbar.
Snipaste_2019-10-14_12-38-34.png
  3 comentarios
sid Chen
sid Chen el 14 de Oct. de 2019
It`s my fault that my expression is not clear.
The trouble is how to get 2-D colorbar, I only know how to plot with 1-D colorbar.The position doesn`t bother me.
Thanks for comments.
Adam
Adam el 14 de Oct. de 2019
As mentioned, there is no functionality for a 2d colourbar in Matlab, but you can create your 2d image representing your 2d colourmap easily and just plot it using imagesc on its own axes that you can position wherever you want.

Iniciar sesión para comentar.

Respuesta aceptada

darova
darova el 14 de Oct. de 2019
Here is a way:
clc,clear
n = 100;
I = zeros(n,n,3);
h = linspace(0,1/6,n);
s = linspace(1,0,n/2);
[H,S] = meshgrid(h,s);
I(:,:,1) = [H+0.5; H];
I(:,:,2) = [S; flipud(S)];
I(:,:,3) = [S; flipud(S)]/2+0.5;
I1 = hsv2rgb(I);
imshow(I1)
12333.png

Más respuestas (1)

Alaster Meehan
Alaster Meehan el 14 de Oct. de 2019
I don't think Matlab has anything that can do this nativly, but I will follow just incase any has a better idea then me.
My thoughts...
Generate an image/matrix that is what you want you color bar to look like. Use the subplot function to plot your image/map and your colorbar image next to each other.
Cheers Alaster

Categorías

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

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by