2015-05-21 4 views
7

При создании диаграмм рассеяния существует множество вариантов расходящихся цветовых карт, которые подчеркивают данные на экстремумах, но нет вариантов сходящейся цветовой карты, которая подчеркивает данные вблизи середины диапазона , Кто-нибудь может предложить кого-нибудь или сказать, почему это плохая идея?Что такое хорошая сходящаяся цветовая схема для matplotlib

My use case - это график разброса, в котором каждая точка представляет собой подгонку к другому набору данных, а цвет представляет собой уменьшенную квадратную форму подгонки. Я хочу подчеркнуть ценности, близкие к одному, и де-подчеркивать плохие припадки.

Редактировать

Вот мой случай использования более подробно. Я измеряю производительность алгоритма, предназначенного для различения реальных и систематических сигналов в данных временных рядов (в этом случае планета переходит в данные Кеплера по сравнению с глюками в данных). Для каждого моделирования у меня есть входное значение, число, описывающее решение алгоритма, и уменьшенный квадрат квадрата, измеряющий доброту соответствия. Я хочу использовать цветовую схему, чтобы выделить точки, которые уменьшили квадраты хи, наиболее близкие к одному, а не те случаи, когда соответствие плохо.

Существует много способов: может сделать это (например, с размером точки), но я бы хотел сделать это с цветом, если смогу.

+3

[Вот их список] (http://matplotlib.org/users/colormaps. html) не стесняйтесь выбирать тот, который вам нравится, или [определить свой собственный] (https://stackoverflow.com/questions/16834861/create-own-colormap-using-matplotlib-and-plot-color-scale), если ни один из вас это интересуют. – CoryKramer

+1

В этом списке есть последовательные и расходящиеся цветовые карты, но нет сходящихся. Расходящиеся цветовые карты имеют максимальную легкость в середине, и я хочу минимальную легкость посередине. – Fergal

+0

Я не думаю, что когда-либо видел цветную карту, описанную как сходящаяся; они в основном попадают в последовательные, расходящиеся или качественные. Я бы определил вашу собственную. Любопытно, что такое приложение для этого типа цветовой карты? – wflynny

ответ

5

Простым подходом является изменение стандартной цветовой карты. Там в SciPy страница поваренной о том, как сделать преобразование палитры, и using the cmap_map function from there, можно сделать следующее: enter image description here enter image description here

inv = cmap_map(lambda x: 1-x, cm.PRGn) # the "transformation" = 1-x 

# plot the original or modified for comparison 
x,y=mgrid[1:2,1:10:0.1] 
plt.imshow(y, cmap=cm.PRGn) 
plt.title("original") 
plt.figure() 
plt.imshow(y, cmap=inv) 
plt.title("inverted") 
plt.show() 
+0

Немного облегчен, чтобы увидеть, что ответ неочевиден. – Fergal