2013-09-19 3 views
3

У меня есть матрица с объемом продаж в год для клиентов. Колонка мудрая Я хочу иметь годы. Разумеется, я хочу иметь компании. Цвет указывает на стоимость (количество продаж в год на одного клиента).Качественный участок тепловой карты python

Это тепловая карта с дискретным качественным (имя клиента).

Как я могу отобразить это?

РЕДАКТИРОВАТЬ:

перефразировать, речь идет о создании Heatmap с этикеткой на строку (или левой этикетки на клетку). Тепловая карта строится с pylab и дает

enter image description here

Я хотел бы заменить окончание на левом с метким (дискретным качественным).

+0

можете ли вы включить какой-либо код для создания этого участка с использованием фальшивых данных? – tacaswell

+0

относительно поддельных данных, просто посмотрите на сообщение ниже, спасибо – octoback

+1

Вы не должны полагаться на людей, отвечающих на ваши вопросы, чтобы легко отвечать на ваши вопросы. – tacaswell

ответ

6

Я не совсем уверен, что вы пытаетесь достичь, но этот код

import numpy as np 
import matplotlib.pyplot as plt 

data = np.random.random((20, 3)) 

plt.imshow(data, interpolation='none', aspect=3./20) 

plt.xticks(range(3), ['a', 'b', 'c']) 

plt.jet() 
plt.colorbar() 

plt.show() 

, кажется, производит то, что вы хотите: enter image description here

4

зазубрин большую часть кода от Дэвида Zwicker:

import numpy as np 
import matplotlib.pyplot as plt 

data = np.random.random((20, 3)) 
# make sure that the normalization range includes the full range we assume later 
# by explicitly including `vmin` and `vmax` 
plt.imshow(data, interpolation='none', aspect=3./20, vmin=0, vmax=1) 

plt.xticks(range(3), ['a', 'b', 'c']) 

plt.jet() 
cb = plt.colorbar() 
cb.set_ticks([0, .5, 1]) # force there to be only 3 ticks 
cb.set_ticklabels(['bad', 'ok', 'great!']) # put text labels on them 

plt.show() 

Что дает:

enter image description here

который есть я думаю вы хотите.

Смежные вопросы