2016-09-29 3 views
0

У меня есть следующий сценарийMATLAB изменить значения ylabel как глубина

clear all; clc;close all; 

dx = 0:100:400 % in meters 
rho_30 = [ 33.2185 33.3202 33.4763 33.5851 33.6078]; 


rho_50 = [ 58.4567 58.1212 57.5382 56.8300 56.0449]; 


rho_70 = [76.1825 76.0842 75.9825 75.9252 75.9507]; 

plot(dx,rho_30, 'r', 'LineWidth', 2) % rho at depth = 30 meters 

hold on 

plot(dx,rho_50, 'b', 'LineWidth', 2) % rho at depth = 50 meters 

hold on 

plot(dx,rho_70, 'g', 'LineWidth', 2) % rho at depth = 70 meters 

grid on 

legend('rho at depth = 30m', 'rho at depth = 50m', 'rho at depth = 70m') 

xlabel('length of channel (meters)'); ylabel('depth(meters)') 

Как видно из графика, глубина не начинается с 80 м на поверхности до 30 м в нижней части.

Мой вопрос: Как не изменить, что глубина должна начинаться от -30 на поверхности до -80 метров на дне или ylabel должна быть начата от -30 до -80

+0

Вы имеете в виду 'xticks' и' xticklabels'? или сам ярлык? –

+0

ярлык должен быть -30 на поверхности и -80 внизу, в то же время rho_30 (красный) должен быть нанесен наверху, rho_50 (синий) средний и rho_70 (зеленый) внизу. – User1961

+0

Почему бы просто не нарисовать '-rho_30',' -rho_50' и '-rho_70' вместо' rho_30', 'rho_50' и' rho_70'? –

ответ

1

Если вы хотите перевернуть направление Y-оси, вы можете сделать:

set(gca,'YDir','reverse'); 

gca возвращает дескриптор текущей оси объекта. В этой команде set вы устанавливаете направление оси y ('YDir') на 'reverse' (в отличие от значения по умолчанию 'normal').

+0

Спасибо KQS. Он работает, но как изменить 30 на -30 и 80 на -80? – User1961

+0

Вы можете использовать предложение @Luis Mendo (сюжет '-rho_30' и т. Д.). Это изменит все, чтобы быть отрицательным. И тогда вы можете перевернуть направление оси Y, если это необходимо. – KQS

+0

Если вы действительно хотите изменить метки метки оси y вместо данных, вы можете выполнить 'set (gca, 'YTick', [30 40 50 60 70 80], 'YTickLabel', {'- 30', ' -40 ',' - 50 ',' - 60 ',' - 70 ',' - 80 '}) ', но это довольно громоздко и легко ошибиться. – KQS

Смежные вопросы