改变MATLAB图形的缩放比例

3

我有一个显示了20,000个点的图表,它将x轴标记为0...20,000。然而,现在我想将其缩放为0到50。但是,当我尝试在绘图窗口中执行此操作时,它只显示前50个点,而不是更改比例。在MATLAB中有没有直接的方法可以做到这一点?

3个回答

4

您需要更改绘图中的x值,或者您可以更改坐标轴标签。

以下是如何使用特定的x值绘制图表:

%# create some data
data = randn(20000,1);

%# create 20,000 corresponding x-values so that the last one is 50 - works for any number of data points
x = linspace(1,50,length(data));

%# plot
plot(x,data)

编辑Doresoom方便地展示了如何更改轴标签。


2

尝试使用xticklabel轴属性。

set(gca,'XTickLabel',{'0';'10';'20';'30';'40';'50'})应该能够满足您的需求。

编辑:

注意,不要简单地更改刻度标签而不是实际修改数据。如果您有比标签更多的刻度,则MATLAB将开始重复您的刻度标记数组。您可以通过首先确保刻度和标签的长度相等来解决这个问题:

set(gca,'XTick',[0:4000:20000])

1

当您更改绘图窗口中的轴比例时,实际上只是在更改相同数据的视图。您需要做的是更改点本身的x值。

我认为您可以使用一个linspace(0, 50, 20000)向量作为plot命令中的x坐标,以给您一组x值在0到50范围内的点,但您需要展示您当前用于生成绘图的命令,以便我能够给您提供更详细的答案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接