Matlab: нижняя часть текста из `text ()` нарезана - PullRequest
0 голосов
/ 09 мая 2018

Я пытаюсь обозначить свои столбцы на 3D-диаграмме:

clf
yMax = 2;
xMax = 3;
z=floor(10*rand(yMax,xMax));
bar3(z)
xlabel('x-axis')
ylabel('y-axis')
x = reshape( repmat(1:xMax,yMax,1), [], 1 );
y = repmat( (1:yMax)', xMax,1 );
%htext = text( x, y, z(:), repmat( {'TEST'}, xMax*yMax, 1 ) )
htext = text( x, y, z(:), 'TEST' )

Независимо от того, насколько большой я делаю фигуру, в нижней части текст обрезается:

enter image description here

Может кто-нибудь предложить способ отследить причину и / или предложить решение?

1 Ответ

0 голосов
/ 09 мая 2018

Мне повезло поймать несколько минут с гуру.Объяснение: VerticalAlignment по умолчанию middle, что прекрасно работает для 2D-графиков.Однако для каждой из 3D-полос выше middle означает, что середина текста расположена прямо на верхней поверхности поля.Следовательно, нижняя половина текста внутри поля.Проблема решается путем изменения команды text:

htext = text( x, y, z(:), 'TEST' , 'VerticalAlignment','Bottom' )

Странно, как я не смог найти ее в веб-поиске, но, надеюсь, этот ответ исправит это.

...