在 MATLAB 中,我有一个带有一些刻度标签的图表。我想在视觉上强调其中的一些标签,但不是全部。有没有办法只用粗体显示一些刻度标签?
问问题
7337 次
4 回答
4
刻度标签不是单独的对象。它们属于轴,它们的属性由轴确定。
您可以做的是删除刻度标签并将其替换为文本对象。在这种情况下,您可以控制文本属性。
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
于 2012-02-07T04:27:13.833 回答
2
您还可以用第二个轴覆盖您的“原始”轴。在第二个您配置刻度粗体。与链接轴一起,您可以保持适当的缩放行为。
于 2012-02-07T07:50:47.197 回答
0
%% 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)
于 2019-05-08T20:01:21.480 回答