如何在Julia中绘制热力图

6
我有一个(21,100)的数组,想要将它绘制成二维直方图(热图)。 如果我使用histogram2d(A,nbins = 20),则它只会绘制前21个点。
我尝试循环绘制,但是这样会得到100个只有21个点的直方图。另一个想法是将数据放入(2100)数组中,但这似乎不是一个好主意。
补充说明: 我有一个散点图/数据,并希望将其显示为热图。在一个箱中有更多的点,“颜色”越“深”。 因此,我有21个x值,每个值都有100个y值。

一个二维直方图基本上是绘制两个数据向量之间的相关性,例如 histogram2d(randn(1_000), randn(1_000)),因此它期望它们的长度相同。热力图则不同,它直接使用 A 的维度,然后对矩阵中每个 [i, j] 位置的值进行颜色编码(请检查 heatmap(A))-您能否澄清一下您的数组是什么,并且您希望一个二十一乘一百的矩阵做什么? - Nils Gudat
我认为你只是想要一个热力图。 - mbauman
我在上面澄清了我的意思。 - clearseplex
1个回答

15

这里是一个典型的热力图绘制场景:

using Plots
gr()
data = rand(21,100)
heatmap(1:size(data,1),
    1:size(data,2), data,
    c=cgrad([:blue, :white,:red, :yellow]),
    xlabel="x values", ylabel="y values",
    title="My title")

这里输入图片描述


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接