segunda-feira, 9 de julho de 2012

Cores no Matlab

Bom dia a todos!
Eu não sei se é porque sou menina, mas me incomodam muito essas cores predeterminadas do Matlab. Claro, elas são simplesmente combinações de 1 e 0 no espaço RGB (http://www.mathworks.com/help/techdoc/ref/colorspec.html) :



Valor RGB Nome curto Cor
[1 1 0] y Amarelo
[1 0 1] m Magenta
[0 1 1] c Ciano
[1 0 0] r Vermelho
[0 1 0] g Verde
[0 0 1] b Azul
[1 1 1] w Branco
[0 0 0] k Preto


Em plots mais simples podemos ficar no clique-clique na figura para escolher a cor (Edit > Figure Properties. Clique direito na linha e no menú escolher a cor). Mas a melhor opção é sempre descobrir qual é a combinação RGB que representa a cor que queremos e usar ela na opção  'color' da função que estamos usando.

Por exemplo, para plotar uma linha verde no Matlab normalmente usamos:


x = -pi:.1:pi; y = sin(x); %exemplo do plot do matlab
plot(x,y,'linewidth',2,'color','g')



E para plotar a mesma coisa em um verde mais bonito podemos usar:

plot(x,y,'linewidth',2,'color',[ 0.19    0.80    0.19])

Hoje achei uma função muito legal, chamada "rgb", no site de troca de funções do Matlab
(http://www.mathworks.com/matlabcentral/fileexchange/24497-rgb-triple-of-color-name-version-2). Ela retorna o vetor [R G B] a partir do nome de uma cor, baseado nesta tabela




O nome da cor que usamos acima é  "LimeGreen" então o código ficaria assim:


plot(x,y,'linewidth',2,'color',rgb('LimeGreen'))





Muito bom, não é?
Para usar é só baixar o arquivo no link e colocar no seu toolbox (File > Seth Path).

Até a próxima :)

5 comentários:

  1. Muito bom, gostei da iniciativa!
    bjs

    ResponderExcluir
  2. Curti essa! Tá massa o blog, boa sorte! Espero que continue na pilha, hehehe, essas dicas sempre ajudam. Bjos, Luti

    ResponderExcluir
  3. Este comentário foi removido pelo autor.

    ResponderExcluir
  4. Já usei essa rotina das cores e recomendo!
    Mto bom o blog ;)
    Bjs
    Fernando

    ResponderExcluir