Изменение масштаба рисунка MATLAB - PullRequest
3 голосов
/ 16 марта 2010

У меня есть фигура, которая отображает 20000 точек на оси X. Так что помечает ось X от 0 ... 20000. Тем не менее, теперь я хотел бы масштабировать это от 0 до 50. Но когда я пытаюсь сделать это в окне графика, это просто показывает мне первые 50 баллов вместо изменения шкалы. Есть какой простой способ сделать это в MATLAB?

Ответы [ 3 ]

4 голосов
/ 16 марта 2010

Вы должны изменить значения 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 голосов
/ 16 марта 2010

Попробуйте использовать свойство xticklabel.

set(gca,'XTickLabel',{'0';'10';'20';'30';'40';'50'}) должен дать вам то, что вы хотите.

EDIT:

Осторожнее с надписью меток вместо того, чтобы фактически изменять данные. Если у вас больше тиков, чем меток, MATLAB начнет повторять ваш массив меток. Вы можете позаботиться об этом, убедившись, что метки и метки сначала равны по длине:

set(gca,'XTick',[0:4000:20000])
1 голос
/ 16 марта 2010

Когда вы изменяете масштаб оси в окне графика, вы просто меняете представление для тех же данных.То, что вам нужно сделать, это изменить значения х самих точек.

Я думаю, что для этого вы можете использовать вектор linspace(0, 50, 20000) в качестве ваших x-координат в вашей команде plot, чтобы датьнабор точек со значениями x в диапазоне от 0 до 50, но вам нужно будет показать команды, которые вы используете в данный момент для создания графика, чтобы я мог дать вам более подробный ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...