是否可以在matlab图中标记x轴下的某个域?
示例:
答案 0 :(得分:2)
您可以尝试annotation
。您可能需要进行一些额外的实验,但这里有:
跨越整个x轴的条形码为:
x_ends = [0.131 0.908];
在您的情况下,x轴的长度为2.5
(从0到2.5)。这意味着一个dx
的长度为:
dx = diff(x_ends) / 2.5;
如果您想要一个从0.3
到0.5
的条形码,则长度为:
bar_length = dx * (0.5 - 0.3);
由于您希望条形图以0.3开头,因此您必须将其添加到坐标:
x_bar = [0.3 0.5]*dx+x_ends(1);
bar((1:100)/50,floor(rand(1,100)*10));
annotation('line',x_bar,[.1,.1],'Color','r','LineWidth',3);
这会产生:
当然,如果您更改轴或类似的东西,您将不得不改变上面的一些内容。
要在0.3
获得额外的价格:
ax_tick = get(gca,'xtick')
set(gca, 'xtick', sort([ax_tick 0.3]))
祝你好运!