相关疑难解决方法(0)

在matplotlib中使用pcolor进行热图?

我想制作一个这样的热图(在FlowingData显示): 热图

源数据在这里,但随机数据和标签可以使用,即

import numpy
column_labels = list('ABCD')
row_labels = list('WXYZ')
data = numpy.random.rand(4,4)
Run Code Online (Sandbox Code Playgroud)

在matplotlib中制作热图很容易:

from matplotlib import pyplot as plt
heatmap = plt.pcolor(data)
Run Code Online (Sandbox Code Playgroud)

我甚至发现了一个看起来正确的色彩图参数:heatmap = plt.pcolor(data, cmap=matplotlib.cm.Blues)

但除此之外,我无法弄清楚如何显示列和行的标签,并以正确的方向显示数据(原点位于左上角而不是左下角).

试图操纵heatmap.axes(例如heatmap.axes.set_xticklabels = column_labels)都失败了.我在这里错过了什么?

python data-visualization matplotlib heatmap

100
推荐指数
3
解决办法
11万
查看次数

在matplotlib中指定以厘米为单位的图形尺寸

我想知道你是否可以用厘米来指定matplotlib中数字的大小.目前我写道:

def cm2inch(value):
    return value/2.54

fig = plt.figure(figsize=(cm2inch(12.8), cm2inch(9.6)))
Run Code Online (Sandbox Code Playgroud)

但是有原生方法吗?

matplotlib

32
推荐指数
3
解决办法
3万
查看次数

使用matplotlib的pyplot在每个单元格中使用文本进行热图

我使用matplotlib.pyplot.pcolor()来绘制matplotlib的热图:

在此输入图像描述

import numpy as np
import matplotlib.pyplot as plt    

def heatmap(data, title, xlabel, ylabel):
    plt.figure()
    plt.title(title)
    plt.xlabel(xlabel)
    plt.ylabel(ylabel)
    c = plt.pcolor(data, edgecolors='k', linewidths=4, cmap='RdBu', vmin=0.0, vmax=1.0)
    plt.colorbar(c)

def main():
    title = "ROC's AUC"
    xlabel= "Timeshift"
    ylabel="Scales"
    data =  np.random.rand(8,12)
    heatmap(data, title, xlabel, ylabel)
    plt.show()

if __name__ == "__main__":
    main()
Run Code Online (Sandbox Code Playgroud)

有没有办法在每个单元格中添加相应的值,例如:

(来自Matlab的可定制热图)

在此输入图像描述

(%我现在的申请不需要额外的,但我很想知道未来)

matplotlib heatmap

5
推荐指数
2
解决办法
7453
查看次数

标签 统计

matplotlib ×3

heatmap ×2

data-visualization ×1

python ×1