在 Julia-lang 中生成热图的子图

Vas*_*ass 3 matplotlib heatmap julia

我正在尝试生成具有多个热图(根据单元格值带有颜色阴影的矩阵)的图形/图。目前using Plots; pyplot()heatmap(mat)足以生成热图。

我不清楚如何用更多的方式产生一个单一的数字。查看此页面示例子图以了解如何使用布局,然后查看示例直方图后,我似乎无法为两者一起生成工作示例。

问题是如何通过热图或其他一些函数来生成一个带有两个不同矩阵的图形来做同样的事情?

(作为额外的一面,您能否解释一下“使用”语句的上下文以及它与“后端”的关系?)

Mic*_*ard 5

最简单的方法是制作一个热图向量,然后绘制它们

using Plots
hms = [heatmap(randn(10,10)) for i in 1:16];
plot(hms..., layout = (4,4), colorbar = false)
Run Code Online (Sandbox Code Playgroud)

using语句调用Plots库。“后端”是另一个包,由 Plots 加载,用于进行实际绘图。Plots 本身没有绘图功能——它将绘图调用转换为后端包的绘图调用。

上面代码的解释:用 Plots 绘图是一个两步过程。1:plot生成一个Plot包含情节所有信息的对象;2:当一个Plot对象返回到控制台时,它会自动调用 julia 的display函数,然后生成绘图。但是你可以Plot先对这个对象做其他事情,比如把它放在一个数组中。

heatmap调用是 的缩写形式plot(randn(10,10), seriestype = :heatmap),因此它只是创建一个 Plot 对象。16 个绘图对象存储在向量中。

传递多个 Plot 对象以plot创建一个新的更大的 Plot,其中每个传入的Plot对象作为子图。splat 运算符...只是将Array{Plot}to 的每个元素plot作为单独的参数传递。

在此处输入图片说明