Julia:使用pgfplots包将矩阵绘制为图像

时间:2017-03-16 13:11:28

标签: matplotlib julia pgf

根据我的计算,我得到了一个实数的二维数组。我想用它们做的是将它们绘制成一个图像,其中数组元素的值转换为色彩映射。直到现在我使用PyPlot包进行这种可视化。使用Pyplot非常简单。使用灰度值的示例是

using PyPlot

test = rand(3,3);

PyPlot.gray()
imshow(test,interpolation="none")
colorbar()

有没有办法用PGFPlots包而不是PyPlot来做同样的事情? 我已经尝试使用Plots.Image,但这不适用于数组而不是函数。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

或者

using Plots; pgfplots()
test = randn(3,3)
heatmap(test, c = :greys)

答案 1 :(得分:0)

不确定PGFPlots中是否有相应的功能,但您可以通过创建新功能来解决这个问题:

function plot_matrix(my_matrix)
    n,m = collect(size(my_matrix)) .+ 1 .- 1e-10
    f(x,y) = my_matrix[Int(floor(x)), Int(floor(y))]
    Plots.Image(f, (1, m), (1, n))
 end

这会给您以下结果:

test = rand(3,3);
plot_matrix(test)

enter image description here

test2 = rand(15, 15);
plot_matrix(test2)

enter image description here