Тепловая карта Matplotlib с данными X, Y - PullRequest
0 голосов
/ 27 февраля 2019

Я хочу создать тепловую карту в matplotlib, используя pcolor или другую библиотеку тепловых карт.Я нашел много отличных примеров, но не могу определить, как получить мои данные в правильном формате или вместо этого построить график, используя формат, в котором находятся мои данные.

Вот как мои данные настроены

X  Y  Value
0  1  .6
0  2  .3
0  3  .2
1  1  .8
1  2  .4
1  3  .9

Таким образом, столбцы X и Y обозначают пары (X,Y), где Value - значение соответствующей ячейки.Я изо всех сил пытаюсь найти способ преобразовать данные для работы с pcolor или другой метод построения.Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

Похоже, вы используете pandas dataframe.Перед построением сводного кадра данных необходимо составить таблицу и использовать метод тепловой карты, т. Е. Из морского побережья:

import seaborn as sns 
import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_clipboard()
table = df.pivot('Y', 'X', 'Value')
ax = sns.heatmap(table)
ax.invert_yaxis()
print(table)
plt.show()

enter image description here

Вывод:

X    0    1
Y
1  0.6  0.8
2  0.3  0.4
3  0.2  0.9
0 голосов
/ 27 февраля 2019

Вы должны превратить ваши значения x & y в двумерный массив.Два измерения массива представляют x & y, в то время как значения отображаются на цветовой шкале тепловой карты.Больше цветных карт дано здесь .

import numpy as np
import matplotlib.pyplot as mpl
import matplotlib.cm as cmap

m = np.array([[.6, .3, .2], [.8, .4, .9]])
mpl.imshow(m, cmap=cmap.hot)
mpl.colorbar()
mpl.show()

производит heatmap example

...