Тепловая карта Matplotlib действительно маленькая - PullRequest
1 голос
/ 27 октября 2019

Я создал тепловую карту, которая будет отображать корреляцию между всеми столбцами в наборе случайных чисел. Тепловая карта создается просто отлично, но тепловая карта очень мала, в основном в вертикальном направлении. Я прикрепил изображение тепловой карты к этому сообщению. Набор данных представляет собой фрейм данных Pandas из CSV-файла. Код показан ниже:

def colCorrelation():
    xData = []
    yData = []

    fig, ax = plt.subplots(figsize=(5,5)) 
    # calculates the correlation between all columns and all other columns
    for i in range(0,100):
        for e in range(0,100):
            dataFlow = dict(zip([(i,e+1)], 
               [np.corrcoef(dfT[i],dfT[e+1])[0,1]]))
            if list(dataFlow.values())[0] < .9:
                xData.append(list(dataFlow.keys())[0][0])
                yData.append(list(dataFlow.values())[0])

    ## tuple of the two columns being correlated and their correlation
    ## in the dictionary as key value pairs data structure.
    ## Ex: {(19, 17): -0.015262993060948592}

    ## Plot heatmap
    heatmap, xedges, yedges = np.histogram2d(xData,yData,bins=(50))
    extent = [xedges[0], xedges[-1], yedges[0], yedges[-1]]

    plt.clf()
    plt.title('Random Data heatmap')
    plt.ylabel('y')
    plt.xlabel('x')
    plt.imshow(heatmap,extent=extent)
    plt.show()

colCorrelation()

The heatmap created by the code above

1 Ответ

2 голосов
/ 27 октября 2019

Удалите аргумент extent из plt.imshow, потому что он сокращает ваш график на основе данных.

...