Subscripts and supercripts in heatmap axis labels
Mostrar comentarios más antiguos
Hi, I am having trouble adding subscripts and supercripts to the axis labels on my heatmap. At the moment my code looks like this:
heatmap(string(round(log10(range_par_N),2)),string(round(log10(range_par_C2),2)),heatmap_data_Nconc,'CellLabelColor','none','GridVisible','off');
colormap(parula);
xlabel('log K^{N}_{N}');
ylabel('log K^N _C2');
But the axis labels look like this:

I have also tried doing:
heatmap(string(round(log10(range_par_N),2)),string(round(log10(range_par_C2),2)),heatmap_data_Nconc,'CellLabelColor','none','GridVisible','off');
colormap(parula);
h = xlabel('log K^{N}_{N}');
set(h,'Interpreter','tex');
But I get the following error:
Error using matlab.graphics.chart.Chart/xlabel
Output arguments are not supported when using xlabel with heatmap.
Error in xlabel (line 32)
hh = xlabel(ax,args{:});
The subscript and supercript work fine in the 'tex' style for all my other plots, but doesn't work for heatmap. Is it just that these are not suported for heatmaps?
I am using version R2018b.
I am new at using Matlab, so apologies if I have missed something obvious.
Respuesta aceptada
Más respuestas (2)
Carly Cocke
el 3 de En. de 2020
You can edit Adam Danz's fix/get around of manipulating the interpreter property to fix the title text:
Here's the link to his answer: https://www.mathworks.com/matlabcentral/answers/432786-how-can-i-italicize-the-label-of-a-heatmap
and here's the editted version of his code to apply to yours:
h.heatmap(string(round(log10(range_par_N),2)),string(round(log10(range_par_C2),2)),heatmap_data_Nconc,'CellLabelColor','none','GridVisible','off');
colormap(parula);
a2 = axes('Position', h.Position); %new axis on top to add label's
a2.Color = 'none'; %new axis transparent
a2.YTick = []; %Remove ytick
a2.XTick = []; %Remove xtick
a2.YDir = 'Reverse'; %flip your y axis to correspond with heatmap's
xlabel('log K^{N}_{N}'); %you can use any commands under axes properties to edit the axes appearance
ylabel('log K_{C_2}^N');
h = heatmap(magic(4),'Interpreter','latex','CellLabelColor','none','GridVisible','off');
colormap(parula);
xlabel('$log K^{N}_{N}$');
ylabel('$log K^N_C2$');
Categorías
Más información sobre Data Distribution Plots en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
