Как автоматически раскрутить 3d гитограмму в матлаб? - PullRequest
0 голосов
/ 12 января 2010

У меня есть 3D-гистограмма в Matlab. Можно ли автоматически его раскрутить, т.е. получить 3d-эффекты. Я хочу показать это как видео в PowerPoint, где вращается 3d-гистограмма.

спасибо

Ответы [ 2 ]

1 голос
/ 12 января 2010

Несколько неудобный способ сделать это - повернуть график вручную с помощью команды view. С помощью этой команды вы можете обновить виды азимута и высоты любого трехмерного графика.

Для создания этого видео требуется захват окна графика с использованием такой последовательности команд (обратите внимание, вы получите серый фон, поэтому вы можете изменить цвет фона):

% create figure and get handle to it (store handle in hf)
hf = figure(1);

% [create 3d plot]

% Create file to hold the animation
aviobj = avifile('mymovie.avi', 'compression', 'Cinepak');

% loop with some criteria for rotation
while(...)
    % update view using view command
    view(az, el);

    % get Matlab to flush the drawing buffer (effectively forces a plot update)
    drawnow;

    % capture frame and write to the avi file
    aviobj = addframe(aviobj, hf);
end
% end loop

% Close movie (flushes write buffer and finishes the video)
aviobj = close(aviobj);

Вы можете использовать ту же тактику без avifile, чтобы вращать сюжет, используя скрипт в Matlab, хотя вы можете использовать команду pause для замедления смены кадра.

0 голосов
/ 12 января 2010

Давайте удостоверимся, что мы говорим здесь об одном и том же. 2-D гистограмма будет иметь ячейки с указанным диапазоном X и Y, и счет будет показан на оси Z. Трехмерная гистограмма будет иметь ячейки в диапазонах X, Y и Z с количеством, показанным каким-либо другим способом (цвет?). Вам потребуется разрезание для трехмерной гистограммы, чтобы иметь смысл. 2-D гистограмма, которая выглядит как группа блоков, выходящих из-под земли.

Я думаю, вам лучше будет превратить эту 2-D гистограмму в изображение, где каждый пиксель представляет конкретную ячейку в X и Y, а цвет указывает количество в этой ячейке. Я думаю, что движение только запутает данные. Для этого используйте image или imagesc или imshow. Кроме того, я бы рекомендовал цветовую карту на основе интенсивности (>> colormap), например, весной или зимой. Это делает различия более очевидными. Включите цветовую панель (>> цветная панель)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...