我有一个显示了20,000个点的图表,它将x轴标记为0...20,000。然而,现在我想将其缩放为0到50。但是,当我尝试在绘图窗口中执行此操作时,它只显示前50个点,而不是更改比例。在MATLAB中有没有直接的方法可以做到这一点?
我有一个显示了20,000个点的图表,它将x轴标记为0...20,000。然而,现在我想将其缩放为0到50。但是,当我尝试在绘图窗口中执行此操作时,它只显示前50个点,而不是更改比例。在MATLAB中有没有直接的方法可以做到这一点?
您需要更改绘图中的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方便地展示了如何更改轴标签。
尝试使用xticklabel
轴属性。
set(gca,'XTickLabel',{'0';'10';'20';'30';'40';'50'})
应该能够满足您的需求。
编辑:
注意,不要简单地更改刻度标签而不是实际修改数据。如果您有比标签更多的刻度,则MATLAB将开始重复您的刻度标记数组。您可以通过首先确保刻度和标签的长度相等来解决这个问题:
set(gca,'XTick',[0:4000:20000])
当您更改绘图窗口中的轴比例时,实际上只是在更改相同数据的视图。您需要做的是更改点本身的x值。
我认为您可以使用一个linspace(0, 50, 20000)
向量作为plot
命令中的x坐标,以给您一组x值在0到50范围内的点,但您需要展示您当前用于生成绘图的命令,以便我能够给您提供更详细的答案。