2016-07-17 3 views
3

Я хотел бы иметь метки метки с разным размером шрифта по оси x и y.Различные шрифты для тик-ярлыков оси x и y

Моя первая попытка была:

set(gca,'XTickLabel', {labelslist}, 'FontSize',16) 

, но он не работает, по крайней мере, с моей версией (2014A на Windows 10). По какой-то причине он меняет размер шрифта метки на обе оси.

Кто-нибудь знает, как это сделать?

минимальный пример:

A=[1 2 3; 2 3 4; 2 3 4; 1 1 1]; 

figure 
bar([1:size(A,1)], A, 'BarWidth', 2) 
set(gca,'xticklabel',{'1','2','3','4'},'FontSize',16) 

+0

Пробовали ли вы прохождения оси обращаться непосредственно к 'set', а не использовать' gca'? – Suever

+0

@Suever как я могу это сделать? – shamalaia

+0

Храните их при создании осей. 'hax1 = axes(); hax2 = оси(); set (hax1, 'FontSize', 25); set (hax2, 'FontSize', 8) ' – Suever

ответ

2

Вам нужно два axes объектов друг на друга, по одному для х и один для у:

%// example figure 
A = [1 2 3; 2 3 4; 2 3 4; 1 1 1]; 
figure 
bar([1:size(A,1)], A, 'BarWidth', 1) 

%// handle 
ax1 = gca; 
%// fontsize of y-axis, deactivate, x-axis 
set(ax1,'XTick',[],'FontSize',24) 
%// create second identical axis and link it to first one 
ax2 = axes('Position', get(ax1, 'Position'),'Color','none'); 
linkaxes([ax1,ax2],'xy') 
%// fontsize of x-axis, deactivate, y-axis 
set(ax2,'YTick',[],'FontSize',12) 

enter image description here


Что касается Вашего комментария, не перепутать ручки:

%// handle 
ax1 = gca; 
%// fontsize of y-axis, deactivate, x-axis 
set(ax1,'XTick',[],'YTick',0:4,'YTickLabel',{'ZERO','ONE','TWO','THREE','FOUR'},'FontSize',24) 
%// create second identical axis and link it to first one 
ax2 = axes('Position', get(ax1, 'Position'),'Color','none'); 
linkaxes([ax1,ax2],'xy') 
%// fontsize of x-axis, deactivate, y-axis 
set(ax2,'YTick',[],'XTick',1:4,'XTickLabel',{'one','two','three','four'},'FontSize',12) 

enter image description here

+1

@shamalaia взгляните на мое редактирование, лучше деактивировать тики, а не только метки. – thewaywewalk

+0

Вы также знаете, как изменить xticklabel? Я не могу. 'set (ax2, 'YTick', [1: 4], 'FontSize', 12)' 'set (ax2, 'xTicklabel', {'one', 'two', 'three', 'four'}, ' FontSize ', 12) 'просто повторяет последовательность – shamalaia

+0

@shamalaia не смешивает ручки! Посмотрите на мое редактирование. – thewaywewalk

Смежные вопросы