-1

I am using MATLAB R2018b. I have a for loop plot. I am struggling with legend which has fraction in it.

My code and present output:

% Plot 
ColorVec = hsv(length(Phi));
markers = {'+','o','*','.','x','s','d','^','v','>','<','p','h'};
figure;
set(gca,'fontsize',24,'fontname','Times New Roman');
hold on;
for k = 1:length(Nse)
    for i=1:length(Iph)
             plot(V11(:),P(:),'-','color',ColorVec(i,:),'Linewidth',2.0);
    end
end
%%% Following for legend
Legend = cell(length(Phi),1);
 for iter=1:length(Phi)
   Legend{iter}=strcat(num2str(Phi(iter)),'\frac{W}{m^2},',num2str(round(Tc(iter))),' °C ');
 end
hl = legend(Legend);
set(hl ,'Interpreter','latex')
hold off

image

2
  • I'm not sure you need the $ Commented May 21, 2020 at 15:57
  • @AnderBiguri I removed $ and reran the code. No change. The problem still persists. I updated my code to give a clear picture of what it is.
    – Mainland
    Commented May 21, 2020 at 16:04

1 Answer 1

2

° is not recognizable by Latex and the fraction should be enclosed inside $_____$. You should be using $^\circ$ for getting ° with the Latex Interpreter.

i.e. instead of what you have in your loop, you should be having:

Legend{iter}=strcat(num2str(Phi(iter)),'$\frac{W}{m^2}$,',...
    num2str(round(Tc(iter))),'$^\circ$C');

or even simpler with the power of strings (instead of characters):

Legend{iter} = Phi(iter) + "$\frac{W}{m^2}$," + round(Tc(iter)) + "$^\circ$C";

Result*:

* Ignore the colors

0

Not the answer you're looking for? Browse other questions tagged or ask your own question.