如何将Matlab绘图记号标签切换为科学形式?

如何将Matlab绘图记号标签切换为科学形式?,matlab,plot,Matlab,Plot,我有一个半对数图,到目前为止它适用于semilogx。现在我想更改勾号标签。现在上面写着10^8 10^9。。。10^13,但我想看到1e8、1e9。。。1e13位于x轴上。我怎样才能改变这一点 干杯 Manuel您可以使用自己的格式更改XTickLabels属性: set(gca,'XTickLabels',sprintfc('1e%i',0:numel(xt)-1)) 其中是一个未记录的函数,用于创建填充有自定义字符串的单元格数组,xt是您从当前轴获取的XTick,以了解其中有多少个 具有

我有一个半对数图,到目前为止它适用于
semilogx
。现在我想更改勾号标签。现在上面写着10^8 10^9。。。10^13,但我想看到1e8、1e9。。。1e13位于x轴上。我怎样才能改变这一点

干杯
Manuel

您可以使用自己的格式更改
XTickLabels
属性:

set(gca,'XTickLabels',sprintfc('1e%i',0:numel(xt)-1))
其中是一个未记录的函数,用于创建填充有自定义字符串的单元格数组,
xt
是您从当前轴获取的
XTick
,以了解其中有多少个

具有虚拟数据的示例:

clear
clc
close all

x = 0:100000;
y = log(x);

figure
semilogx(x,y)

xt = get(gca,'XTick');

set(gca,'XTickLabels',sprintfc('1e%i',0:numel(xt)-1))
输出:


谢谢,这很有效。我只是把它改为
xt=get(gca,'XTick');集合(gca,'XTickLabel',sprintfc('1e%i',log10(xt(1)):log10(xt(xt(xt))))获取实际值,而不是从零开始的值。太棒了!很乐意帮忙