Сделайте xticklabels жирным шрифтом - PullRequest
1 голос
/ 04 ноября 2019

Я пытаюсь сделать xticklabels (массив ячеек) жирным. Я попробовал несколько вариантов этого:

h=figure(1);
gca.XAxis.TickLabel='\bf{%g}'  % xticklabel is preassigned in box plot as text from cell array {'AB','CD','EF','GH'}.

Однако большинство приводило к ошибке, такой как

Error using set, 
Conversion to double from struct is not possible

. Пожалуйста, предложите исправление для вышеупомянутого и, если возможно, установщик свойства по умолчанию дляэтот эффект.

Я работаю с MATLAB 2017a.

Ответы [ 2 ]

3 голосов
/ 04 ноября 2019

Необходимо изменить свойство FontWeight объекта XAxis на 'bold', например:

figure();
set(get(gca, 'XAxis'), 'FontWeight', 'bold');

Результат:

enter image description here

2 голосов
/ 04 ноября 2019

Следующее сделает XTickLabels жирным шрифтом:

fig = figure(1); 
ax = axes;           % or: ax = gca;
plot(rand(10));
ax.XTickLabel = cellfun(@(a) ['\bf{' a '}'], ax.XTickLabel, 'UniformOutput',false);

Вы не можете использовать gca так же, как я использовал ax, так как gca - это функция, которая возвращаеттекущие оси и точечная индексация функции невозможны.

Если вы хотите использовать setget), вы можете сделать это следующим образом:

currentLabels = get(gca, 'XTickLabel');
set(gca, 'XTickLabel', cellfun(@(a) ['\bf{' a '}'], currentLabels, 'UniformOutput',false));
...