热图未加载 seaborn 和 pandas 数据框

Heatmap not loading with seaborn and pandas data frames

我正在尝试生成一个热图,显示不同股票价格之间的相关性,然后 运行通过一些 ML 为我正在工作的课程的项目。相关代码如下所示,并附上了数据为运行的Pandas数据框的图片。数据框中也没有丢失数字。当我 运行 代码时,情节根本不会加载。它永远停留在边缘。我试图找到具有相同问题的其他问题,但找不到任何问题,因为它们有不同的错误,例如没有 plt.show().

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from statsmodels.stats.outliers_influence import variance_inflation_factor


data=pd.read_excel("Sto.xlsx") #read data in
data.set_index("Date", inplace= True)
sns.heatmap(data.corr(),  annot=True)

plt.show()

此代码完全适用于 Jupyter Notebook 中的以下数据。我想问题出在 Spyder 上,与您的 data/Seaborn 无关。要让它与 spyder 一起工作,您还可以添加:%matplotlib inline 到您的代码中。另一位 Whosebug 用户最近(约 5 个月前)遇到了类似的问题,即在将 Seaborn 与 Spyder 结合使用时没有出现绘图,这为他们解决了 (Seaborn Plot is not displaying):

data = pd.DataFrame({'QQQ': {0: 97.8, 1: 96.4, 2: 95.1, 3: 96.3, 4: 98.2},
     'TSLA': {0: 43.9, 1: 42.0, 2: 42.26, 3: 42.19, 4: 42.12},
     'VIX': {0: 16903, 1: 16821, 2: 18470, 3: 19872, 4: 20120},
     'SPY': {0: 183.5, 1: 180.3, 2: 178.5, 3: 180.7, 4: 183.9},
     'MSFT': {0: 41.5, 1: 41.2, 2: 40.6, 3: 41.1, 4: 42.3}})
data

    QQQ     TSLA    VIX     SPY     MSFT
0   97.8    43.90   16903   183.5   41.5
1   96.4    42.00   16821   180.3   41.2
2   95.1    42.26   18470   178.5   40.6
3   96.3    42.19   19872   180.7   41.1
4   98.2    42.12   20120   183.9   42.3

import seaborn as sns
import matplotlib.pyplot as plt
data = df.corr()
sns.heatmap(data.corr(), annot=True)
plt.show()