2009-09-25 2 views
1

В GNU Octave вы можете сделать изображение, где разные цвета представляют разные значения в матрице. Вы также можете добавить colorbar, который показывает, какой цвет соответствует какому значению.Октава цветная панель и устройства

Возможно ли каким-либо образом добавить единицы к значениям, указанным в цветовой панели? Вместо того, чтобы говорить «0,36», он сказал бы «0,36 В/нм»? Я знаю, что это возможно в Matlab, но я не могу понять, как это сделать в Octave. Какие-нибудь хорошие обходные пути?

Я предполагаю, что кто-то здесь упомянет, что вместо этого я должен использовать matplotlib (что обычно происходит). Как бы вы сделали то же самое с этим?

ответ

2

Matplotlib ответ (с использованием pylab) является

imshow(random((20,20))) 
colorbar(format='%.2f V/nm') 

В октава, кажется, что следующие работы (но я не эксперт Октав так может быть не лучший способ):

c=colorbar(); 
labels = {}; 
for v=get(c,'ytick'), labels{end+1} = sprintf('%.2f V/nm',v); end 
set(c,'yticklabel',labels); 
+0

I не удалось заставить ваш Octave-код работать (возможно, версия 3.0 слишком старая), но поскольку pylab позволяет очень октавоподобный код, я мог бы легко переносить свой код, чтобы использовать его вместо этого. – pafcu

+0

У меня есть версия 3.2.2, поэтому это может быть проблема с версией. Получает ли (c, 'yticklabel') что-нибудь в вашей версии? Можете ли вы использовать set (c, 'yticklabel') для того, чтобы делать метки метки вручную? –

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