Создание нескольких изображений тепловой карты с помощью панд, Seaborn? - PullRequest
0 голосов
/ 28 октября 2019

В настоящее время я пытаюсь выводить изображения для своих данных.

Мой исходный источник выглядит так:

total_dict = {"A" : {"A1" : [1, 2, 3, 4, 5], "A2" : [2, 3, 4, 5, 6]}, "B" : {"B1" : [11, 22, 13, 34, 5], "B2" : [12, 31, 42, 52, 16]},"C" : {"C1" : [12, 22, 33, 4, 5], "C2" : [42, 33, 42, 15, 6]}, "D" : {"D1" : [1, 23, 35, 4, 5], "D2" : [21, 23, 34, 5, 6]}}

Теперь я пытаюсь создать 4 тепловые карты для каждойПодбиблиотека: A, B, C и D. Моя программа:

import pandas as pd
import seaborn as sns
for sub in total_dict:
    df = pd.DataFrame(total_dict[sub])
    image = sns.heatmap(df, cmap="YlGnBu", linewidths = 0.1, vmax = 100)
    print (image)

Однако она не распечатывает 4 отдельных изображения, как я ожидал. Окончательный результат: heatmap_result

Не могли бы вы предложить мне любой метод, который я могу использовать, чтобы получить ожидаемые 4 отдельных вывода, а также сохранить их в 4 отдельных файлах. Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 28 октября 2019

Вы можете определить новую фигуру, построить тепловую карту и сохранить фигуру.

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

for index, sub in enumerate(total_dict):
  df = pd.DataFrame(total_dict[sub])
  # create a new figure
  fig = plt.figure()
  image = sns.heatmap(df, cmap="YlGnBu", linewidths = 0.1, vmax = 100)
  fig_name = 'test_%s.png' %(index)
  fig.savefig(fig_name)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...