ось Matlab в процентах - PullRequest
       1

ось Matlab в процентах

2 голосов
/ 04 августа 2011

У меня есть ось на трехмерном графике, которую я хотел бы построить в процентах.В настоящее время значения являются десятичными.Так, например, я бы хотел, чтобы 0.12 отображалось как «12%».

В настоящее время я использую:

  temp_zlabels=100*str2num(get(gca,'ZTickLabel'));
  set(gca, 'ZTickLabel', sprintf('%d%%|', temp_zlabels))

Это хорошо работает, но когда диаграмма увеличивается или поворачиваетсяэто, значения оси начинаются сначала, вместо масштабирования.

Так, например, если у меня есть ось (0% 25% 50% 75%), и я делаю график больше, ось теперьчитает (0% 25% 50% 75% 0% 25% 50% 75%) вместо правильного перемасштабирования исходной оси.

Какой лучший способ обозначить ось в процентах, где я делаюне столкнуться с этой проблемой?

Ответы [ 2 ]

2 голосов
/ 04 августа 2011

Вы должны исправить положения z-тиков:

set(gca, 'ZTickMode','manual')

Пример:

D = rand(100,3);
plot3(D(:,1),D(:,2),D(:,3),'o'), box on, grid on
xlabel x, ylabel y, zlabel z

set(gca, 'ZTickMode','manual')
set(gca, 'ZTickLabel',num2str(100.*get(gca,'ZTick')','%g%%'))
rotate3d on

screenshot

См. эти страницы для дальнейших объяснений ...

1 голос
/ 04 августа 2011

Вы должны иметь ZTick, соответствующий вашему ZTickLabel:

set(gca, 'ZTick', temp_zlabels/100)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...