如何在Matlab中调整.fig文件中的子图

时间:2017-11-13 13:37:21

标签: matlab text subplot fig

我有一个带有9个子图的.fig文件,按3排列3.现在我想添加标签,我已经在plotlabels(i)中写入了subplot i,点(xcoordinates(i),0.01)。我试试这个

plotlabels = ['A','B','C','D','E','F','G','H','I'];
xcoordinates = [30,1000,1000,1000,1000,1000,1000,1000,1000];
fig = openfig('degreedistribution.fig');

for i = drange(1,9)
     subplot(3,3,i);
     text(xcoordinates(i),0.01,plotlabels(i),'FontWeight','bold'); hold on
end

该图以子图1,4和7(左栏)blanc返回。在其他子图中,正确的标签添加在正确的位置。我已经检查过子图1,4和7中标签的位置是否与图表兼容。那么发生了什么?

2 个答案:

答案 0 :(得分:1)

我认为它是轴。

因为我没有你的身材,我试着没有那条线:

plotlabels = ['A','B','C','D','E','F','G','H','I'];
xcoordinates = [30,1000,1000,1000,1000,1000,1000,1000,1000];
for i = drange(1,9)
   subplot(3,3,i);
   text(xcoordinates(i),0.01,plotlabels(i),'FontWeight','bold'); hold on; 
end

您可以看到没有显示标签,但是,所有x轴都是[0-1]。如果我在axis([0 2000 0 0.02])之后添加行text(...,那么我可以看到所有标签:

enter image description here

答案 1 :(得分:0)

最小的工作示例会有所帮助。

您可以手动将每个文本分配到其父轴:

for i = 1:9
     t = text(xcoordinates(i),0.01,plotlabels(i),'FontWeight','bold'); 
     t.Parent = fig.Children(i);
end