Pada gambar ini, penanda dalam legenda sangat besar, bagaimana saya bisa membuatnya lebih pendek.

Saya menghabiskan banyak waktu untuk mencari solusi secara online. Tetapi saya tidak menemukan solusi yang dapat memperbaiki masalah ini.

Terima kasih.

enter image description here

Ini kodenya,

latency = [1 1.3 0.5;...
           0.8 1.2 0.4;...
           0.7 1.1 0.35;...
           0.9 1.0 0.3;...
           0.8 1.2 0.4;...
           0.7 1.1 0.3];
h = bar(latency);
set(h(1), 'FaceColor',[33 36 61]./255)
set(h(2), 'FaceColor',[240 240 240]./255)
set(h(3), 'FaceColor',[250 128 114]./255)
set(h, 'LineWidth', 1);
set(gca,'Linewidth',1,'Fontname', 'arial');
set(gca, 'XLim', [0, size(latency,1)+1])
set(gca, 'YLim', [0 max(max(latency))*1.1]);
xlabel('(a) Latency','FontSize',14)
ylabel('Latency (us)','FontSize',14)
legend({'AAAAAAAA', 'BBBBBBBB', 'CCCCCCCC'}, 'Orientation', 'horizontal','FontSize',11)
box on;

Memperbarui:

Menurut jawabannya, saya menambahkan dua baris kode:

[lgd,icons,plots,txt] = legend({'AAAAAAAA', 'BBBBBBBB', 'CCCCCCCC'});
icons(4).Children.XData = icons(4).Children.XData/2;

Sekarang saya mendapatkan legenda ini.

Tapi ada ruang kosong sebelum teks.

enter image description here

0
Hao 2 Maret 2020, 15:14

1 menjawab

Ada properti tidak berdokumen ItemTokenSize untuk melakukannya:

% Fixe the new size of each box:
box_size = [10 10 10]

% Get the handle
hdl = legend({'AAA', 'BBB', 'CCC'})

% Set the new size
hdl.ItemTokenSize = box_size;

% Then recenter the legend
% ...

enter image description here

Tidak berdokumen berarti bahwa opsi ini dapat dihapus, tanpa pemberitahuan, dalam rilis mendatang.

1
obchardon 2 Maret 2020, 13:55