Delete axis, keep legend

조회 수: 7 (최근 30일)
Alexandre Cucatti dos Santos
Alexandre Cucatti dos Santos 2019년 8월 5일
댓글: sofia fellini 2024년 1월 5일
I need to have a subplot with an empty axis, but with a legend. My workaround to put a title on an empty subplot was:
if isempty(data) % Failsafe for empty section
pie(1); % Plots any pie chart
title(data_title);
cla; % Clears axis
end
But it does not work for the legend, it vanishes with it.
How can I deal with it?
  댓글 수: 1
Alexandre Cucatti dos Santos
Alexandre Cucatti dos Santos 2019년 8월 6일
So, I have this figure with 6 subplots. The legend for the 3 upper and the 3 lower are the same, so it appears only in the rightmost subplots. However, sometimes the rightmost plot can be like the upper left for this sample (an empty plot created with cla()). I need to make it so that the legend appears with all 3 entries even for cases like this.
For reasons of confidenciality, the titles and legend entries must be censored

댓글을 달려면 로그인하십시오.

채택된 답변

Adam Danz
Adam Danz 2019년 8월 5일
편집: Adam Danz 2019년 8월 6일
To create a legend without any visible data using plot().
plot(nan, 'r-', 'DisplayName', 'MyLegendName');
legend();
Note: cla() will still clear the legend but you won't need to call cla() because nothing is plotted.
To create a legend without any visible data using pie()
% Create a dummy pie chart and its legend
h = pie([1,1,1]);
lh = legend('a','b','c')
% Delete non-patch objects
hPatch = h(strcmp(get(h,'type'),'patch'));
hNotPatch = h(~strcmp(get(h,'type'),'patch'));
delete(hNotPatch)
% Remove Faces of patches
set(hPatch,'Faces', NaN)
  댓글 수: 3
Adam Danz
Adam Danz 2019년 8월 6일
편집: Adam Danz 2019년 8월 6일
I updated my answer to show how this is done with pie charts.
First you must create a pie chart and its legend. Then you must remove the text and then remove the faces of each patch by replacing their values with NaN. That makes the entire pie chart go away and retains the legend.
sofia fellini
sofia fellini 2024년 1월 5일
Thank you @Adam Danz !! I was looking for this today!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Pie Charts에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by