Mapas de cores em Matplotlib | Quando os designers gráficos encontram o Matplotlib

Conteúdo

Seus próprios mapas de cores

Não estou interessado em todos os mapas de cores fornecidos? Ou você precisa de outros mapas coloridos sofisticados? Em caso afirmativo, você deve ler este post até o fim. Vou orientá-lo na personalização e criação de seus próprios mapas de cores.

Mas antes de personalizá-lo, Vou mostrar um exemplo de uso de mapas coloridos. Eu usei o ‘RdYlBu_r'Mapas de cores para visualizar meus dados.

1repkpehdtxe5fnu_hqcdwq-9117981

Vamos modificar seus próprios mapas de cores.

Em primeiro lugar, precisamos criar dados simulados que serão exibidos, usando este código

# importar algumas bibliotecas /  módulos
importar numpy como np
import matplotlib.pyplot as plt# criar dados fictícios
data = np.random.random([100, 100]) * 10

A variável de dados é uma matriz que consiste em 100 x 100 números aleatórios de 0 al 10. Você pode verificar escrevendo este código.

1raeoqngyzq9yat_wcpwtsw-5346265

Depois disso, vamos mostrar os dados simulados com mapas de cores padrão usando o código simples abaixo.

plt.figure(figsize =(7, 6))plt.pcolormesh(dados)
plt.colorbar()

O código mostrará uma figura como esta.

1tfqp4c5biki3t9pkbgbyzg-4916891

Como eu mencionei antes, se você não definiu os mapas de cores que usou, você obterá os mapas de cores padrão, chamado ‘viridis‘.

A seguir, Vou mudar os mapas de cores de ‘viridis'uma’ mapas de cores do inferno com este código-

plt.pcolormesh(dados, cmap = 'inferno')

Você obterá o resultado assim. Viridis

1epy4iobkukeblowmmffuxw-3368622


Modificar mapas de cores

Agora, para modificar os mapas de cores, você precisa importar as seguintes sub-bibliotecas para Matplotlib.

de matplotlib import cm
from matplotlib.colors import ListedColormap,LinearSegmentedColormap

Para modificar o número da classe de cores em seus mapas de cores, você pode usar este código

new_inferno = cm.get_cmap('inferno', 5)# visualize com os mapas de cores new_inferno
plt.pcolormesh(dados, cmap = new_inferno)
plt.colorbar()

e você obterá um resultado como este

1n-yfpe64xds4tcvf3v06q-4397422

A próxima coisa é modificar a cor do intervalo em um mapa de cores. Vou te dar um exemplo em mapas de cores ‘hsv’. Você precisa entender a gama de cores com esta figura.

1knljmcykkacavlqwj-nqla-4189041

Se quisermos usar apenas a cor verde (aproximadamente 0.3) para a cor azul (0.7), podemos usar o seguinte código.

# hsv modificado em 256 classe de cor
hsv_modified = cm.get_cmap('hsv', 256)# criar novos mapas de cores hsv na faixa de 0.3 (verde) para 0.7 (azul)
newcmp = ListedColormap(hsv_modified(por exemplo, linspace(0.3, 0.7, 256)))# mostrar figura
plt.figure(figsize =(7, 6))
plt.pcolormesh(dados, cmap = newcmp)
plt.colorbar()

Isso vai te dar uma figura como esta

19ntdb0aolk9bhlbwmqs2cw-9548003

Criação de seus próprios mapas de cores

Para criar seus próprios mapas de cores, existem pelo menos dois métodos. Primeiro, você pode combinar dois mapas de cores sequenciais no Matplotlib. Em segundo lugar, você pode selecionar e combinar sua cor favorita em RGB para criar mapas de cores.

Daremos a você uma demonstração da combinação de dois mapas de cores sequenciais para criar um novo mapa de cores. Queremos combinar 'laranjas’ e 'azul'.

1rlilduduamx11de4uxoumg-4097986

Você pode ler este código com atenção.

# estabelecer mapas de cores superior e inferior
top = cm.get_cmap('Oranges_r', 128) # r significa versão reversa
bottom = cm.get_cmap('Blues', 128)# combine tudo
newcolors = np.vstack((principal(por exemplo, linspace(0, 1, 128)),
                       fundo(por exemplo, linspace(0, 1, 128))))# crie um novo mapa de cores com o nome OrangeBlue
orange_blue = ListedColormap(newcolors, nome ="OrangeBlue")

Se você visualizar os dados simulados usando mapas de cores ‘OrangeBlue’, você terá uma figura como esta.

1wncg6ygkxwhaztqtu14hww-1044333

O próximo passo é criar um mapa de cores de duas cores diferentes que você gosta. Para este caso, Vou tentar criá-lo da cor amarela e vermelha como mostrado na próxima imagem.

1virwxzf6rw2olkbdd0wltg-1192361

Primeiro, você precisa criar mapas amarelos

# criar mapas de cores amarelosN = 256amarelo = np.ones((N, 4))amarelo[:, 0] = por exemplo, linspace(255/256, 1, N) # R = 255
amarelo[:, 1] = por exemplo, linspace(232/256, 1, N) # G = 232
amarelo[:, 2] = por exemplo, linspace(11/256, 1, N)  # B = 11yellow_cmp = ListedColormap(amarelo)

e mapas vermelhos

vermelho = np.ones((N, 4))vermelho[:, 0] = por exemplo, linspace(255/256, 1, N)
vermelho[:, 1] = por exemplo, linspace(0/256, 1, N)
vermelho[:, 2] = por exemplo, linspace(65/256, 1, N)red_cmp = ListedColormap(vermelho)

A exibição do mapa amarelo e vermelho que você criou é mostrada na próxima imagem

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.