我有一个带有 5 个子图的图。我声明了包含 6 个子图的 subplot(2,3,X)。第 6 个子图是空的。我将把图例移到所有地块的第 6 个空位置。
这怎么可能?
如果您只想使用标准matlab,则需要子图的句柄,然后需要它的位置。然后将图例的位置设置为子图的位置。参考文档:
注意 您可以通过使用 'Location' 选项将 4 元素位置向量传递给 legend 函数来设置图例位置。要定义现有图例的位置,请使用 set 函数将 4 元素位置向量分配给 'Position' 属性。您不能将 Location 选项与 set 功能一起使用
例如:
subplot(2,3,1), plot(1:10,2:11)
myLegend=legend('text1')
set(myLegend,'Units', 'pixels')
myOldLegendPos=get(myLegend,'Position')
hold on
h=subplot(2,3,6)
set(h,'Units', 'pixels')
myPosition=get(h,'Position')
set(myLegend,'Position',[myPosition(1) myPosition(2) myOldLegendPos(3) myOldLegendPos(4)])
也许试试File Exchange 中的legendflex,它看起来可以做你想做的事。