Как построить таблицу с цветами в зависимости от значений в кадре данных? - PullRequest
1 голос
/ 22 мая 2019

давайте предположим, что у меня есть этот кадр данных 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

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

Спасибо

Ответы [ 2 ]

3 голосов
/ 22 мая 2019

Использование matplotlib.pyplot.subplots:

import matplotlib.pyplot as plt

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

Выход:

enter image description here

1 голос
/ 22 мая 2019

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

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()

enter image description here

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...