Диаграмма рассеяния Matlab, заданная по осям X и Y - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть массив с двумя столбцами (дата, значение) для построения

date = [2002 2003 2004 2005 ....] %sometimes 2003 2005 2006 2009 and so on%

value = [918.5345 918.5361 918.5354 ....] 

Когда я строю график разброса следующим образом:

subplot(3,1,1);
hold on;
scatter(date,value,'+');
grid on
xlabel('Time') 
ylabel('Y(m)')
hold off

Я получил нужный график (нооси выглядят странно) enter image description here

Я хочу установить метки для отображения значений на оси Y (например, 918,5345).

ALso, ось x должна быть просто значениями (дата) ... (например, 2002 2003 2004 ...), а не 2002.5 2003.5

Я использую Matlab R2016a

1 Ответ

0 голосов
/ 14 февраля 2019

В более старых версиях MATLAB способ получения атрибута tick на графике заключался в использовании функции set (gca, 'XtickLabel').Это «получит текущую ось» и установит метки тика оси X в соответствии с указанным вами тегом.Ниже я установил тег ("i") как запрошенное целое число.

     date = [2002 2003 2004 2005]
     value = [918.5345 918.5361 918.5354 918.6354] 

     plot(date, value)

     title('Plot title'); 
     hold on 
     xlabel('X Axis'); 
     ylabel('Y Axis');
     set(gca,'XTick',date) 
     set(gca,'XTickLabel',sprintf('%3.4i|',date))
     set(gca,'YTick',value) 
     set(gca,'YTickLabel',sprintf('%+1.2i|',value))
     hold off

Чтобы узнать больше о настройке меток тиков, ознакомьтесь с документацией по документации MATLAB здесь: https://www.mathworks.com/matlabcentral/answers/103188-how-do-i-format-tick-labels-before-r2016b

...