Вопрос

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

Спасибо

Это было полезно?

Решение

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

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

% 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 команда для замедления смены кадра.

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top