Помечать метки галочкой жирным шрифтом (но не все)? - PullRequest
5 голосов
/ 07 февраля 2012

В MATLAB у меня есть график с несколькими метками.Я хотел бы визуально подчеркнуть некоторые из этих ярлыков, но не все.Есть ли способ поставить НЕКОТОРЫЕ метки галочки жирным шрифтом?

Ответы [ 4 ]

5 голосов
/ 15 ноября 2015

Хотя я не могу сказать, было ли это невозможно в прошлом, но в настоящее время (по крайней мере, из R2014b) можно просто использовать текстовую разметку:

plot(0:10,0:10);
h = gca;
h.XTickLabel = {'\bf \color{red} 0','2','\bf 4','6','\bf \color{red} 8','10',}

enter image description here

3 голосов
/ 07 февраля 2012

Тиковые метки не являются отдельными объектами.Они принадлежат осям, а их свойства определяются осями.

Что вы можете сделать, это удалить метки галочек и заменить их текстовыми объектами.В этом случае вы можете управлять свойствами текста.

plot(magic(5))
xticks = get(gca,'XTick'); %# x tick positions
xlabels = cellstr(get(gca,'XTickLabel')); %# get the x tick labels as cell array of strings
set(gca,'XTickLabel',[]) %# remove the labels from axes
n = numel(xlabels);
yl = ylim;
idx1 = 1:2:n; %# 1st set of ticks
idx2 = 2:2:n; %# 2nd set
t1 = text(xticks(idx1),repmat(yl(1),numel(idx1),1), xlabels(idx1), ...
    'HorizontalAlignment','center','VerticalAlignment','top');
t2 = text(xticks(idx2),repmat(yl(1),numel(idx2),1), xlabels(idx2), ...
    'HorizontalAlignment','center','VerticalAlignment','top');
set(t2,'FontWeight','bold') %# make the 2nd set bold

Bold ticks example

2 голосов
/ 07 февраля 2012

Вы также можете наложить свою «оригинальную» ось на вторую.На втором вы настраиваете галочки жирным шрифтом.Вместе с линксами вы поддерживаете правильное поведение при масштабировании.

0 голосов
/ 08 мая 2019
%% creat a new control vector, like here I want to make some special labels
as bold red. 

control_vector = cell(length(the_origional_Xlabels), 1);
control_vector(index) = {'\bf \color{red} '}; 

%% the put string cat the control vector and the original xlables
new_labels = control_vector, protease_universal_sorted));
xticks(1:length(the_the_origional_Xlabels));
xticklabels(new_labels)
...