Extract "labelhandles" from Legend
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Given the definition of Legend in Matlab:
[leg,labelhandles,outH,outM] = legend(varargin)
Would it be possible to get the content of the second output of the legend, i.e. "labelhandles", just by calling the first output of the legend, i.e.
leg = legend(varargin)
?
3 commentaires
Adam Danz
le 1 Juin 2023
@Sim, before you get too far down that route, know that the additional outputs to legend used to be documented but are no longer documented nor fully supported. Using the undocumented additional legend handles have lead to unexpected behaviors. For example, unexpected fontsize and fontweight, (here too).
Even if you manage to get the legend object handles and adjust their properties, those adjustments may not sustain after saving/loading the figure or when the figure is in Live editor.
I'm not saying you'll definitiely run into these problems, but you might.
Réponse acceptée
Matt J
le 1 Juin 2023
Modifié(e) : Matt J
le 1 Juin 2023
Would it be possible to get the content of the second output of the legend, i.e. "labelhandles", just by calling the first output of the legend
I was told very recently by Tech Support that it is not possible:
On Wed, Mar 15, 2023 at 9:45AM Laura Li <support@mathworks.com> wrote:
Hello Matt,
Unfortunately there is not. You'd have to use the workaround mentioned previously if you want to have two handles and the properties set correctly. Compatible legend is maintained to prevent old workflows from breaking but new features are not supported for this legend.
On the other hand, could you provide more information on your entire workflow? As in what is your goal with getting the handles to each patch objects? We'd like to support the workflow one day, and we want to make sure your use case is considered in future enhancement plans.
Sincerely,
Laura Li
MathWorks Technical Support
--------------- Original Message ---------------
From:
Sent: 3/14/2023, 4:29 PM
Subject: Re: legend() ignores FaceAlpha [ ref:_00Di0Ha1u._5003q1aAxgK:ref ]
I'm talking about obtaining handles to the patches inside the legend box, such as the handle PatchInLegend handle from your previous code example, ...So my question is really, is there a supported way to obtain PatchInLegend without relying on the two-output syntax of legend() as you did earlier?
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Legend dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!