Matlab 如何在不改变图像的情况下反转x轴?

Matlab 如何在不改变图像的情况下反转x轴?,matlab,axis-labels,Matlab,Axis Labels,在MATLAB中,我想反转我的x轴,但我实际上不想在执行此操作时反转图像/图形。我希望图像/图形保持不变,同时简单地反转x轴刻度。您可以通过修改axis对象的XTickLabel属性来执行此操作: x = 1:10; axishandle = axes; plot(x) oldticks = get(axishandle,'XTickLabel'); newticks = fliplr(str2num(oldticks).'); set(axishandle,'XTicklabel',newt

在MATLAB中,我想反转我的x轴,但我实际上不想在执行此操作时反转图像/图形。我希望图像/图形保持不变,同时简单地反转x轴刻度。

您可以通过修改
axis
对象的
XTickLabel
属性来执行此操作:

x = 1:10;
axishandle = axes;
plot(x)

oldticks = get(axishandle,'XTickLabel');
newticks = fliplr(str2num(oldticks).');
set(axishandle,'XTicklabel',newticks);
编辑:要选择小数位数,请使用:

set(gca,'XTickLabel',sprintf('%.2f |',fliplr(x)'));

其中,
2
是您想要的小数位数

此操作有效!。。。但由于某种原因,现在所有的记号都变成了第六位小数。如何使它只对值进行四舍五入,即现在是这样的:0.342058,但我只希望它显示0.34,它只允许我执行它看到的最后一个set()命令。所以我可以得到我想要的小数,但是我失去了相反的结果。如何在set()命令下将其全部放在一行代码中?
set(gca,'XTickLabel',sprintf('%.2f |',fliplr(x)'));