Edit colorbar of heatmap (string)
90 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Gerrit Liedtke
el 26 de Jun. de 2019
Respondida: Tony Castillo
el 19 de Dic. de 2023
Hi,
Is it possible to edit the colorbar of a heatmap such that it looks like the following image (rapidly created with paint ;) )
So the values aren't numeric but strings.
Thanks for help!
1 comentario
Adam Danz
el 26 de Jun. de 2019
Editada: Adam Danz
el 28 de Jun. de 2019
The handle to the colorbar in heatmap is inaccessible. Without the handle, you can't change properties to the colorbar; you can't even delete it. Even when you try to add a new colorbar, you cannot output the handle with a heatmap plot.
heatmap() in general is highly restrictive in the user's abilty to manipulate many of its properties. I used to use heatmap more frequently prior to these changes and have moved onto using imagesc() instead. Bummer.
Respuesta aceptada
Adam Danz
el 26 de Jun. de 2019
Editada: Adam Danz
el 27 de Jun. de 2019
This can't be done with heatmap() (see comments under the question).
If you're using a different function that allows access to the colobar, it's fairly straightforward. Here's a demo.
% Create demo
C = rand(3,4)/10;
imagesc(C)
cbh = colorbar();
% set color range
caxis([0,.1])
% set ticks
set(cbh, 'YTick', [0.001, 0.01, 0.05, .1], ...
'YTickLabel', {'p=0.001', 'p=0.01', 'p=0.05', 'p=.1'})
0 comentarios
Más respuestas (2)
Christian Karcher
el 28 de Abr. de 2020
Editada: Christian Karcher
el 28 de Abr. de 2020
The handle to the colorbar is accessible, and with it all modifications:
figure;
heatmap(rand(5))
axs = struct(gca); %ignore warning that this should be avoided
cb = axs.Colorbar;
cb.TickLabels = {'p<0.1','p>0.1','...'};
7 comentarios
Alexander Krauss
el 29 de Sept. de 2022
Editada: Alexander Krauss
el 29 de Sept. de 2022
Great solution, thanks a lot (also for the rapid reply) ! :)
Best regards,
Alex
Muhanned Alsaif
el 21 de Ag. de 2023
Editada: Muhanned Alsaif
el 21 de Ag. de 2023
another way to access the colorbar can be found in the following post:
Tony Castillo
el 19 de Dic. de 2023
Is it possible to add a label to that colour bar which is directly created in a heatmap? I mean we can tag a SURF plot (the colourbar because it is separated from the surfplot), but I have not found the manner of doing the same in the colorbar of the heatmap.
0 comentarios
Ver también
Categorías
Más información sobre Data Distribution Plots en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!