How to place a dot on a greek letter in a datatip? (interpreter not working)

3 views (last 30 days)
I am trying to create a in a datatip, in a bar plot. However, everything works fine except the "\dot" command which is not recognized by the interpreter. Notice that the tick labels and the plain worked just fine. See the picture below. Adding the "$...$" or the double "$$...$$" doesn't solve the problem. So why is the "\dot" command not recognized by the latex interpreter in the datatip?
Here is a piece of code which reproduces the issue:
figure
bar(rand(3,3))
set(gca,'TickLabelInterpreter','latex',...
'XTick',[1 2 3],...
'XTickLabel',{'$C_{L\dot{\alpha}}$','$C_{L\alpha}$','$C_{L\dot{\alpha}}$'}); % This works fine
set(datacursormode,'updatefcn',@mydatatip)
function output_txt = mydatatip(~,event_obj)
% Display data cursor position in a data tip
% obj Currently not used (replaced by ~)
% event_obj Handle to event object
% output_txt Data tip text, returned as a character vector or a cell array of character vectors
pos = event_obj.Position;
%********* Define the content of the data tip here *********%
tipname = {'$C_{L\dot{\alpha}}$','C_{L\alpha}','C_{L\dot{\alpha}}'}; % Adding $$ doens't help (the first and last label)
% Display the y value:
output_txt = {[tipname{round(pos(1))},formatValue(pos(2),event_obj)]};
%***********************************************************%
function formattedValue = formatValue(value,event_obj)
% If you do not want TeX formatting in the data tip, uncomment the line below.
% event_obj.Interpreter = 'none';
if strcmpi(event_obj.Interpreter,'latex')
valueFormat = ' \color[rgb]{0 0.5 1}\bf';
removeValueFormat = '\color[rgb]{.15 .15 .15}\rm';
else
valueFormat = ': ';
removeValueFormat = '';
end
formattedValue = [valueFormat num2str(value,4) removeValueFormat];
end
end % End mydatatip
I have tried the solution posted here with no success:
and also this one from 2017, again with no success:
Any help is appreciated!
  4 Comments
Walter Roberson
Walter Roberson on 7 Apr 2019
I see that when you use datacursormode() that one of the permitted options is 'Interpreter', 'latex' . Is that something you have tried ?

Sign in to comment.

Accepted Answer

Adri
Adri on 8 Apr 2019
The answer is to set the latex interpreter in
set(datacursormode,'updatefcn',@mydatatip,'interpreter','latex')
and not in "mydatatip" function. The dollar signs $$ are needed, of course. Thank you Walter for the help!

More Answers (0)

Categories

Find more on Labels and Annotations in Help Center and File Exchange

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!