【发布时间】:2014-12-03 23:31:22
【问题描述】:
我目前正在尝试在 Matlab 中的绘图上制作“漂亮”的轴。这些值是每 20 毫秒采集一次的样本。所以在 X 轴上,我想以毫秒为单位。我绘制数据的通用代码非常简单:
plot(1:size( data.matrix,1), data.matrix(:,1),'b');
到目前为止,我已经能够在该轴上正确显示样本编号: 代码:
set(gca,'XTick',(1:size(data.matrix,1))*20);
结果(a):
在给定的示例中,样本数等于 184,这使得:
time = 184 * 20ms = 3680ms
因为更改 XTick 值并没有太大的变化,所以我测试了 XTickLabel 属性:
代码:
set(gca,'XTickLabel',ceil(linspace(0,size(data.matrix,1)*20,10)));
结果(b):
代码:
set(gca,'XTickLabel',0:ceil((size(data.matrix,1)*20)/10):size(data.matrix,1)*20);
结果(c):
如您所见,结果并不是最糟糕的。但这不是我想要达到的目标。我的目标是拥有这样的价值观:
所以它只是首先绘制(结果 a)X 轴乘以 20。
谁能告诉我如何做到这一点?
【问题讨论】:
-
你为什么要这样绘制而不是创建一个合适的时间向量?