Я хотел бы удалить первые n цветов из цветовой карты без потери исходного количества цветов

#python #matplotlib #seaborn #colormap

#python #matplotlib #seaborn #цветовая карта

Вопрос:

 from matplotlib import cm
import seaborn as sns
import matplotlib.pyplot as plt
  

Вот исходная цветовая карта

 cmap = [cm.inferno(x)[:3] for x in range(0,256)]
sns.palplot(cmap)
  

введите описание изображения здесь

Мой предпочтительный результат — что-то вроде приведенной ниже цветовой карты, за исключением исходного количества цветов

 cmap2 = [cm.inferno(x)[:3] for x in range(0,256)][100:]
sns.palplot(cmap2)
  

введите описание изображения здесь

Ответ №1:

Я полагаю, что под «одинаковым разрешением» вы подразумеваете, что вам нужно 256 цветов в палитре. На самом деле я бы подумал об этом как о разрешении, отличном от исходной палитры, в том смысле, что значения расположены ближе друг к другу в цветовом пространстве. В любом случае, я думаю, вы можете получить то, что хотите, выполнив:

 import numpy as np
import seaborn as sns
from matplotlib import cm

x = np.linspace(.3, 1, 256)
pal = cm.inferno(x)
sns.palplot(pal)
  

введите описание изображения здесь