Как я могу сосредоточить положение xlabel таким образом, чтобы оно находилось посредине фигуры? Я хотел бы центр xlabel быть выровненным с центром титров при использовании LaTeXЦентрирование положения xlabel в MATLAB
ответ
xlabel
функция создает string
графические объект и устанавливает это как XLabel
свойства текущих осей объекта. Вы можете определить свойства для этих объектов string
при вызове xlabel
. Вы можете отрегулировать положение центра объекта строки, отрегулировав свойство Position
, которое по умолчанию установлено на [0 0].
Сначала вы получите то, что позиция прямо сейчас (после построения и использования xlabel
):
vec_pos = get(get(gca, 'XLabel'), 'Position');
Затем обновляем позицию (отрегулировать х с -0.5, например):
set(get(gca, 'XLabel'), 'Position', vec_pos + [-0.5 0 0]);
Это делается в единицах данных по умолчанию по оси X, насколько идет документация. Мне кажется, что метка «Время (ы)» находится на 0,13 с (согласно вашему рисунку). Давайте отрегулируем его влево с 0.008 секунды до 0.122s («гость»).
Force это будет «данные» единицы и настроить с 0,008:
str_defaultUnits = get(get(gca, 'XLabel'), 'Units'); % copy this
set(get(gca, 'XLabel'), 'Units', 'data'); % change it
set(get(gca, 'XLabel'), 'Position', vec_pos + [-0.008 0 0]); % adjust position
set(get(gca, 'XLabel'), 'Units', str_defaultUnits); % set it back as it was
На другой ноте: То, что вы пытаетесь достичь несколько неправильно, я бы сказал :) метка оси не должна выровнять по силе до всего рисунка. Зачем это делать? Цифра отображается по всей фигуре, а не только по области графика. Я боюсь, что это будет выглядеть странно в конце. Ваш выбор конечно.
Это, похоже, не работает вообще. Xlabel исчезает. Я тоже пробовал это, но xlabel все еще исчезает: http://www.mathworks.com/matlabcentral/newsreader/view_thread/111332 – martinweiss
Хм, может быть, единицы, скорее всего, не верны, так как вы используете изображение? Оказалось, что это одно. Что дает вам 'vec_pos' (без вызова каких-либо примеров« xlabel », которые я дал)? –
vec_pos = [2.9942 -3.2705 1.0001].Если я изменю любой из чисел, ярлык исчезнет. Я не думаю, что это связано с единицами, поскольку я экспортирую изображение в самом конце скрипта. – martinweiss
Спецификации того, что вы пытаетесь сделать, будут зависеть от ваших настроек печати матлаба и параметров латекса (например, заголовок raggedright или centering), но это должно по крайней мере поместить вашу xlabel в центр фигуры, а не центр осей.
fh=figure;
ah=axes;
plot(ah,[2.0:10],[2:10])
xlh=xlabel(ah,'my xlabel');
drawnow;
xlh_pos=get(xlh,'position');
ah_pos=get(ah,'position');
x_lim=xlim;
xlh_pos_fig=0.5;%put it in the middle
xlh_pos(1)=(xlh_pos_fig - ah_pos(1))*(x_lim(2)-x_lim(1))/ah_pos(3)+x_lim(1);
set(xlh,'position',xlh_pos);
- 1. Почему осины в зависимости от положения в Matlab?
- 2. вертикальное центрирование относительного положения + неизвестная высота
- 3. Указатель положения randsample в Matlab
- 4. Поиск положения пикселя в matlab
- 5. MATLAB: попытка добавить общую xlabel, ylabel в подстроке 3x2
- 6. Запланируйте обычную xlabel в графе полулогах
- 7. matlab изменение положения элемента вектора
- 8. Matlab: как получить заголовок, xlabel, ярлык и шрифт сюжетной линии?
- 9. Matlab: изменение размера шрифта на xlabel и ylabel
- 10. центрирование IFrame внутри div в центре положения экрана
- 11. Изменение положения ylabel в MATLAB сюжетных
- 12. Как получить XLabel в MPAndroidChart
- 13. sympy.plotting.plot странная позиция xlabel
- 14. Scipy: Показать xlabel propably
- 15. сюжетные скрывает xlabel
- 16. Нелинейная вторичная xlabel
- 17. Центрирование разделов и предоставление им верхнего/нижнего положения?
- 18. Центрирование div горизонтально внутри другого div с абсолютным состоянием положения
- 19. Matplotlib set_y/xlabel doen'nt work
- 20. R используйте символ Angstroms в xlabel
- 21. Как установить мой xlabel в конце Xaxis
- 22. Как изменить xlabel в панд Matplotlib столбчатой
- 23. GNUplot concatenate 2 макроса в xlabel
- 24. Измените значение определенного положения в текстовом файле в Matlab
- 25. Центрирование списка в iframe
- 26. Центрирование подменю - не центрирование
- 27. УС: Центрирование позиции: фиксированная
- 28. Изменение цвета пикселя с учетом положения пикселя в MATLAB
- 29. Получение положения точки пикселя в Matlab для данных MRI
- 30. Почему фактическое значение положения оси отличается от выведенного значения в значении MATLAB?
Команда 'xlabel' создает графический объект« text »для текущего графического объекта осей (gca'), а не рисунка. Это функция convience, которая устанавливает свойство XLabel текущего графического объекта осей. Не могли бы вы дать дополнительную информацию о том, что вы подразумеваете под «центром надписи»? Вы имеете в виду заголовок текущего объекта осей (с помощью функции 'title')? –
«Центр надписи» Я имею в виду центр текста рисунка (подпись) в LaTeX. Если я вставляю фигуру, метка оси x находится справа от центра текста рисунка. Я хотел бы немного поменять метку оси x влево, чтобы по возможности совместить два. – martinweiss
Не могли бы вы разместить код MATLAB? Или, может быть, скриншот вашей фигуры MATLAB с проблемой увидеть. Вы вставляете цифры с помощью LaTeX? Немного смутно :) –