Как построить таблицу с цветами в зависимости от значений в фрейме данных?

давайте предположим, что у меня есть этот фрейм данных df, перенесенный из матрицы:

    1   2   3   4   5   6   7   8

1   1399    17  4   3   0   0   0   0
2   11  374     2   3   1   4   0   1
3   7   0   187     4   0   0   1   1
4   2   3   4   308     0   0   0   3
5   2   0   0   0   280     3   0   1
6   0   2   0   0   2   81  0   3
7   1   0   2   0   2   0   154     4
8   0   0   1   2   1   1   8   552

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

Спасибо

использовать тепловую карту matplotlib.org/gallery/images_contours_and_fields/…

ilja 22.05.2019 09:23

@ilja именно то, что мне было нужно. Спасибо. Не знал, что он существует

Huzo 22.05.2019 09:25
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
2
487
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Используйте matplotlib.pyplot.subplots:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.matshow(df, cmap=plt.cm.Greys)

Выход:

А как насчет содержания сеток? Как заставить его также печатать значения?

Huzo 22.05.2019 09:38
Ответ принят как подходящий

Вот еще один способ:

import matplotlib.pyplot as plt
import numpy as np

a = df.to_numpy()
fig, ax = plt.subplots()

for i in range(df.shape[0]):
    for j in range(df.shape[1]):
         text = ax.text(j, i, a[i, j],
                        ha = "center", va = "center", color = "w")

ax.set_title("Your title")
plt.imshow(a, cmap='hot', interpolation='nearest')
plt.show()

Для получения более подробной информации вы можете проверить этот URL.

Другие вопросы по теме