У меня есть датафрейм формы (25, 19).Столбец 1 имеет работающие корзины, а столбцы со 2 по 19 - годы.Я хочу построить тепловую карту из этого.
Набор данных Synposis
variable bins 2000 2001 2002 2003 2004 2005 2005 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017
0 binA 2282447 2228013 2166100 2098020 2024397 1934590 1846291 1765541 1687144 1632758 1542434 1430951 1306639 1162500 996818 797653 554513 208297
1 binB 264863 279788 309941 333953 355826 380675 408065 435550 475923 530992 567297 602801 642232 686201 738248 804876 901286 1138540
........ .........
Я хотел построить тепловую карту следующим образом
Однако, когда я запускаю код, как следует, выдает ошибку индекса.Я понимаю ошибку, но даже когда я обрезаю таблицу, чтобы она стала равной по размеру (19,19), я все равно получаю ошибку или просто пустой график.
import matplotlib.pyplot as plt
cddfdf=cddfdf.iloc[:, 0:19]
fig, ax =plt.subplots()
ax.set_xticks(np.arange(cddfdf.shape[0]))
ax.set_yticks(np.arange(cddfdf.shape[0]))
ax.set_xticklabels(cddfdf['bins'])
ax.set_yticklabels(cddfdf['bins'])
# Rotate the tick labels and set their alignment.
plt.setp(ax.get_xticklabels(), rotation=45, ha="right",
rotation_mode="anchor")
# for i in range(renamedDfd.shape[0]):
# for j in range(renamedDfd.shape[0]):
# print(i, j)
# renamedDfdd[i, j]
# break
# renamedDfdd
# text = ax.text(j, i, renamedDfdd[i, j],
# ha="center", va="center", color="w")
cddfdfd=cddfdf[['bins', 2000, 2001]]
cddfdfdd=cddfdfd[[2000, 2001]]
cddfdfddd=cddfdfdd.values
len(cddfdfddd.T)
#len(cddfdfddd['bins'])
Я получаю сообщение об ошибке в строке 'text'
for i in range(cddfdfddd.shape[0]):
for j in range(cddfdfddd.shape[0]):
#print(i, j)
from copy import deepcopy
copyof = deepcopy(cddfdfddd.T)
#copyof[i, j]
#g=copyof.T
#printå(g[i, j])
text = ax.text(j, i, copyof[i, j],
ha="center", va="
center", color="`enter code here`w")
Ошибка
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-59-85f53ea47f7c> in <module>()
7 #g=copyof.T
8 #print(g[i, j])
----> 9 text = ax.text(j, i, copyof[i, j],
10 ha="center", va="center", color="w")
IndexError: index 2 is out of bounds for axis 0 with size 2
Как построить тепловую карту для этого временного ряда, который в (bin,бункеры)