2013-05-13 3 views
1

Я использую imagesc в MATLAB, чтобы показать матрицу NxM в качестве изображения, где теплее цвет, тем выше значение. С помощью следующей команды:`imagesc` в MATLAB: размер бумаги и` colorbar`

f = imagesc(points, [0 1]); 

отображается матрица points. Тем не менее, отсутствует легенда, показывающая связь между цветами и значениями. Я узнал, что команда:

colorbar 

может использоваться для отображения запрошенной легенды. Однако, при печати рисунка на PDF, используя следующие строки кода:

set(gcf, 'PaperUnits', 'centimeters') 
set(gcf,'PaperSize',[12 8]) % Set the paper size to the figure size 
print('-dpdf',figurePath) 

я сталкиваюсь две проблемы:

  • Размер бумаги установлен неправильно
  • Цветная полоса не отображается на PDF

Как исправить эти проблемы?

Заранее благодарен,

Элеонора.

+1

Вы изменили свойство 'PaperUnits'? По умолчанию это в дюймах, что может объяснить, почему размер бумаги не установлен правильно и, возможно, также почему цветная полоска не отображается (от бумаги). – am304

+0

Да, я меняю его на сантиметры. Тем не менее, это не устраняет проблему. Я обновлю вопрос по вашему предложению. – Eleanore

ответ

0

Я нашел решение в современном уровне, которое использует сценарий export_fig (https://sites.google.com/site/oliverwoodford/software/export_fig).

Следующий код необходим:

set(gcf, 'Color', 'w');      % Change background color 
set(gcf, 'Position', [100 100 700 500])  % Change figure dimensions 
export_fig([figurePath '.pdf'])    % Export the figure 
0

Я всегда экспортировать свои цифры .eps, а затем использовать утилиту epstopdf, которая поставляется с Ghostscript для преобразования для включения в LaTeX документа; это, похоже, решает подавляющее большинство вопросов.

Другой способ сделать это - использовать сценарий export_fig, но я вижу, вы уже это обнаружили.

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