无法在Visual Studio中使用Seaborn绘图功能

时间:2018-08-14 21:25:39

标签: python visual-studio matplotlib scikit-learn seaborn

我编写了代码,以从CSV文件中读取某些数据,使用sklearn库对数据进行PCA分析,然后将结果数据绘制为热图。该代码在运行时没有显示任何错误,但它也不会输出任何图形,而只会输出一条显示AxesSubplot(0.125,0.11; 0.62x0.77)的行。

我想知道Visual Studio是否无法显示这样的图,如果可以的话,对我来说,哪个更好的IDE可以用于该项目。如果没有,那么谁能阻止该代码显示热图的问题?复制下面的相关代码

    import os
    import matplotlib as mpl
    if os.environ.get('DISPLAY','') == '':
        print('no display found. Using non-interactive Agg backend')
        mpl.use('Agg')
    import matplotlib.pyplot as plt
    import numpy as np
    import seaborn as sns
    sns.set()
    from sklearn.preprocessing import StandardScaler
    from sklearn.decomposition import PCA
    import pandas as pd

    # Scaling the data for PCA
    scaler = StandardScaler()
    x = StandardScaler().fit_transform(data)

    pca = PCA(n_components = 2)

    pca.fit(x)
    finSet = pca.transform(x)

    hm = sns.heatmap(finSet)

    plt.show()

1 个答案:

答案 0 :(得分:0)

您可以删除行

if os.environ.get('DISPLAY','') == '':
    print('no display found. Using non-interactive Agg backend')
    mpl.use('Agg')

这些行用于查询代码是否在具有显示器的环境中运行。如果没有显示,则不应尝试在屏幕上创建绘图窗口。

但是,即使您有显示器,但是os.environ没有"DISPLAY"键,代码也会错误地假定不应创建任何绘图窗口。至少在Windows上似乎是这种情况。

您可能还希望将其错误告知此代码源。