2016-07-26 1 views
1

У меня есть много подзаговоров, которые мне нужно загрузить и собрать вместе с помощью Matlab. Я хочу добавить персонализированные Ticks, но мой подход не работает. Мой mwe является следующим:Изменить XTick в подзаголовке не работает

x = 1:1:1000; 
r = rand(1000,1); 
my1 = subplot(2,3,1); 
my1 = bar(x,sort(r)); 
title ('This works') 
xlabel ('This works too') 
xlim ([0 1000]) 
my = get(gca); 
my.XTick = [1 200 499] 

И этот последний пункт не работает. Зачем? Как я могу это исправить?

ответ

2

get(gca) возвращает struct всех графических свойств текущих осей, а не самих осей. Любые изменения, внесенные в этот struct свойств, не отражаются в вашем фактическом axes. Вам нужно изменить свойства axes непосредственно с помощью set

set(gca, 'XTick', [1 200 499]) 

Или, если вы на 2014b

% Don't use get(gca) to get the handle 
ax = gca; 

% Set the XTick property 
ax.XTick = [1 200 499]; 
+0

Понял. Большое вам спасибо, я до сих пор не привык к графике графики Matlab – Patapunfate