Is it possible to mark a certain domain beneath the x-axis in matlab plot?
Example:
你可以试试annotation
s。您可能需要进行一些额外的实验,但这里有:
跨越整个 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]))
祝你好运!