Por que usar o colormap viridis sobre jato?


28

Conforme anunciado em https://www.youtube.com/watch?v=xAoljeRJ3lU , o Matplotlib altera o mapa de cores padrão de jet para viridis.

No entanto, eu não entendo muito bem. Talvez porque eu sou daltônico?

O jato original do colormap parece muito forte, posso sentir o contraste:

insira a descrição da imagem aqui

Enquanto o novo mapa de cores viridis não tem esse contraste:

insira a descrição da imagem aqui

Alguém por favor pode explicar isso mais simples para mim? Eu preciso da trama para o meu trabalho. E preciso de um bom motivo para convencer meu supervisor (e eu) de que o viridis é melhor.


2
Observe que o Matlab mudou recentemente de jet para parula (como discutido no vídeo vinculado).
Ameba diz Reinstate Monica

+1 ao comentário @amoeba. Desde o R2014b, o MATLAB usa o mapa de cores parula . Uma das principais razões foi que o jato era pouco informativo para usuários daltônicos e a mudança para parula foi motivada por isso. O daltonismo masculino é geralmente de cerca de 7-8% em algumas populações do norte da Europa.
usεr11852 diz Reinstate Monic

11
Use magma, plasma ou inferno, então ... você não é forçado a usar o padrão, e IMHO os outros três são "mais fortes". Viridis foi escolhido como padrão porque "o padrão deve ter verde". Se você quiser, no MATLAB, pode obtê-los aqui . Isenção de responsabilidade: a submissão de FEX é minha.
Ander Biguri

3
Também construímos uma ferramenta que ajuda a analisar os diferentes mapas de cores em relação à uniformidade perceptiva, linearidade do mapeamento em escala de cinza e adequação para visualizadores daltônicos. Consulte bids.github.io/colormap e github.com/matplotlib/viscm Temos um ramo em desenvolvimento para projetar mapas de cores bidirecionais.
Stefan van der Walt

Respostas:


34

Veja este vídeo . Você também pode pesquisá-lo no Google porque há muitos ataques a jato (razoáveis) em todos os lugares.

O Jet é muito agradável porque é chamativo, colorido e não requer que você pense sobre sua escala de cores: mesmo se você tiver apenas alguns discrepantes, você ainda terá "todos os recursos" em sua plotagem. Você mesmo disse: jato quase nunca carece de contraste.

No entanto, isso tem um preço muito alto: o jato mostra literalmente coisas que não existem . Isso cria contraste do nada: basta mudar um pouco a escala de cores no jato e você verá que a imagem está mudando drasticamente. Faça o mesmo em viridis, e você teria apenas a impressão de estar colocando mais ou menos luz exatamente sobre a mesma coisa.

Se você não gosta de viridis, use os outros mapas de cores discutidos no vídeo acima: eles têm as mesmas propriedades agradáveis ​​e não fazem com que seus dados ocorram. Altere também a escala de cores: a partir de 0, mesmo que seja lógico do ponto de vista científico, pode não ser uma boa ideia representar esses dados específicos (mas altere sua barra de cores para refletir isso, por exemplo, "<25").

Mas, novamente, veja o vídeo, há muitos exemplos e explicações completas.


11
Entendi, você realmente liga o vídeo que eu postei. Eu assisto novamente. E quando no início, dá o exemplo de Mona Lisa. De repente eu entendo. jetdestaque o contraste que não existe, por exemplo, a testa de Mona Lisa.
Cqcn1991

6
Sim, exatamente: normalmente o jato enfatiza muito o amarelo e o ciano. Dependendo da escala de cores, você "verá" coisas diferentes. Nos mapas de cores do tipo veridis, se você não vê algo que costumava ver no jato, significa que o que você está procurando é insignificante em comparação com o resto: esse é o objetivo de um mapa de cores, para dar ao nosso cérebro uma estimativa da significância relativa de cada pixel. :) (e sim, você citou o vídeo, mas realmente contém bons exemplos e eu queria saber que você já viu ou apenas citou-o para Veridis presentes)
johnw

E tem havido exemplos de trabalhos buscando explicações sobre efeitos estranhos que eram apenas artefatos de jato. Vou tentar cavar um pouco.
Davidmh

Também devo acrescentar que o desempenho do virdis varia de acordo com as telas diferentes. Eu tenho um laptop antigo e um novo hackintosh para desktop. O virdis do hackintosh para desktop parece muito melhor e mais claro que o laptop.
Cqcn1991

2
Então, existe este exemplo . Infelizmente, a referência original está no blog abandonmatlab, que agora é privado. Todos os blogs que pude encontrar citam o blog, mas não o jornal. Se alguém encontrar, ficarei muito feliz.
Davidmh

12

Você precisa da plotagem porque precisa mostrar dados e precisa de um mapa de cores porque sabe que a cor exibida não será vista igualmente por todas as pessoas: qualquer cor é uma interpretação através de nossa percepção visual.

De fato, as cores são subjetivas, no sentido em que são interpretadas pelo cérebro (no sentido em que um espectro é transformado em atividade neural) em diferentes níveis de valência (ou valor), em função da barra de cores a seguir. Seus olhos farão um conjunto constante de sacadas para combinar a trama com a barra.

O JET deve ser banido porque é perceptivamente ambíguo. Uma primeira característica das cores na percepção visual é o seu valor, que é o brilho total, que atua como a característica mais direta. No entanto, esse valor não é monotônico no JET, de modo que UM valor no brilho possa induzir valores diferentes na percepção. Isso é particularmente verdade no tom azulado - amarelado (e na maioria das vezes naqueles que correspondem a valores zero) que artificialmente "surgem" de uma imagem. Verifique essas curvas em: brilho de diferentes mapas de cores

Viridis (entre outras alternativas) é feito para evitar esse problema. Você pode ler esta descrição completa para esta opção e como adaptar seu mapa de cores à categoria de dados a ser plotada.

Isso deve convencer seu supervisor.


7

O problema com o uso de qualquer tipo de escala de cores para representar visualmente os dados ordinais é o da monotonicidade da luminância : ou seja, se você possui dados que satisfazem algum tipo de relacionamento de pedido, esse relacionamento deve ser refletido não apenas pelas mudanças de tonalidade, mas pela luminância. O problema com o mapeamento de cores "jet" é que o ponto mais alto do mapeamento (correspondente a valores maiores) recebe uma cor vermelha, o intervalo intermediário recebe uma cor verde-amarela e o mais baixo é azul - mas se Ao observar o "brilho" percebido (ou seja, luminância) dessas cores, fica claro que esse mapeamento não é monótono. O outro mapeamento de cores na sua pergunta corrige esse defeito.

O motivo dessa propriedade deve ser óbvio, entre os quais o fato de que, se esses números forem reproduzidos em escala de cinza, a interpretabilidade não será perdida.


7

Já existem várias respostas legais aqui, mas acho que ainda é pertinente acrescentar outro ponto de vista, a partir do excelente artigo

Bons mapas de cores: como projetá-los. Peter Kovesi. arXiv: 1509.03700 (2015). Software disponível aqui .

que expõe de maneira muito clara os princípios do design do mapa de cores e fornece uma ferramenta muito boa para analisá-los quanto à uniformidade perceptiva:

insira a descrição da imagem aqui

Esse gráfico de 'tábua de lavar' tem uma rampa constante de zero a um indo da esquerda para a direita ao longo do fundo, e o topo do gráfico tem uma modulação sinusoidal de amplitude uniforme. Para um mapa de cores projetado adequadamente, todas as franjas na parte superior devem mostrar contraste idêntico ou pelo menos semelhante. No entanto, quando você coloca jetà prova, é imediatamente óbvio que esse não é o caso:

insira a descrição da imagem aqui

Em outras palavras, há uma tonelada de franjas, nos trechos vermelho e particularmente verde jet, que ficam completamente nuked e se tornam completamente invisíveis, porque o mapa de cores simplesmente não tem nenhum contraste lá. Quando você aplica isso aos seus dados, o contraste nessas regiões será da mesma maneira que as franjas. Da mesma forma, os nítidos contrastes na parte inferior, no que deveria ser uma escala linear suave, representam lugares onde o mapa está introduzindo recursos que não estão realmente presentes nos dados.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.