MATLAB Answers

Scatter and legend functions are not working well with each other, when working with Export Setup.

1 view (last 30 days)
With the code given below to create a scatter plot and edit the legend marker size:
b=figure;
scatter(LE,pred_D,300,'b','o');
hold on;
scatter(LE,measured_D,300,'r','d');
[~, hobj, ~, ~] = legend({'Predicted','Measured'},'Fontsize',12,'FontName', 'Arial','Location','Best');
M = findobj(hobj,'type','patch');
set(M,'MarkerSize',sqrt(600));
xlabel('$E^*/\sqrt{v^*}$','Interpreter','latex');
ylabel('Melt pool depth (μm)');
set(gca, 'FontName', 'Arial', 'FontSize', 12);
I am able to obtain the following output:
I intentionally have these larger marker sizes as Matlab seems to reduce them drastically when I use settings inside of File>Export Setup such as the ones given below:
These "Export Setup" settings make the scatter points ready for publication, but the legend seems to misbehave (changes size and marker thickness) as shown below:
ææ
The same Export Setup settings work well with the gscatter code:
g=figure;
hold on;
pPlot=gscatter(v_star,E_star,melting_mode,'kbrm','so^d',20,'on','Dimensionless Velocity','Dimensionless Heat');
l= findobj(gcf,'tag','legend'); set(l,'location','northwest');
[hleg,att] = legend('show');
set(gca,'xscale','log')
set(gca,'yscale','log')
xlim([1 10])
ylim([10 200])
with before/after "Export Setup" images shown below:

Accepted Answer

Shraddha Jain
Shraddha Jain on 9 Jun 2021
Edited: Shraddha Jain on 9 Jun 2021
Hi Sagar,
You are not able to modify the properties of legend while displaying scatter plot because of the way the legend object has been created in the code below,
[~, hobj, ~, ~] = legend({'Predicted','Measured'},'Fontsize',12,'FontName','Arial','Location','Best');
If you replace the above code with,
legend({'Predicted','Measured'},'Fontsize',12,'FontName','Arial','Location','Best');
the changes made in the Export Setup > Fonts of the MATLAB Figure will be reflected in the legend as well.
Hope this helps!

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by