在Julia中的常规2D网格上绘制值

安东·杰格捷列夫

在常规2D晶格上设置了某些参数值。我想以规则网格的单元格形式显示它们,并根据参数的值填充颜色。各个网格节点中可能存在间隙。这是数据示例和所需的绘图结果:

a = [1, 2, 3, 1, 2, 3, 1, 2]
b = [1, 1, 1, 2, 2, 2, 3, 3]
c = [1, 5, 4, 3, 4, 2, 1, 3]

plot(a, b, zcolor = c, aspect_ratio = 1, xlim = (0.5, 3.5), ylim = (0.5, 3.5), clim = (0, 5),
seriestype = :scatter, markersize = 82, markershape = :square, markerstrokewidth = 0.5,
legend = false, colorbar = true)

在此处输入图片说明

这种方法可行,但是在这种情况下,每次都需要调整正方形的大小,以使单元之间没有间隙,并且它们不会彼此重叠。这需要不断的手动干预,并且看起来不像是正确的解决方案。在这种情况下最正确的方法是什么?我考虑过heatmap(),但据我了解,在Julia中,它不知道如何显示单元格边框。也许有某种方法可以在plot()中以绝对画布单位设置图标大小?还是在这种情况下使用其他方法更好?

贝诺瓦·帕斯奎尔

heatmap好像是要走到我身边的方式。如果你ab跨越整个晶格,我只想用reshape,好了,重塑 c这不是您的情况,因此一种解决方案是用NaN无值的s填充晶格例如,

using Plots
a = [1, 2, 3, 1, 2, 3, 1, 2]
b = [1, 1, 1, 2, 2, 2, 3, 3]
c = [1, 5, 4, 3, 4, 2, 1, 3]
x, y = sort(unique(a)), sort(unique(b)) # the lattice x and y
C = fill(NaN, length(y), length(x)) # make a 2D C with NaNs
for (i,j,v) in zip(a,b,c) # fill C with c values
    C[j,i] = v
end
heatmap(x, y, C, clims=(0,5)) # success!

在此处输入图片说明


编辑:如果要指定单元格的边缘,可以使用进行heatmap,如果需要线,则可以手动添加它们,例如,用vlinehline

ex, ey = [0, 1.5, 2.3, 4], [0.5, 1.5, 2.5, 3.5]
heatmap(ex, ey, C, clims=(0,5)) 
vline!(ex, c=:black)
hline!(ey, c=:black)

会给

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Matlab中绘制2D网格

来自分类Dev

在2D阵列网格(JAVA)上绘制圆

来自分类Dev

绘制2d等距图像网格

来自分类Dev

如何在边界内在3D轴上绘制2D Voronoi网格?

来自分类Dev

Android Java Battleship Game:在2D网格上绘制图形

来自分类Dev

Python在网格网格中的节点上绘制值

来自分类Dev

如何在three.js中从BufferGeometry绘制2D/3D网格

来自分类Dev

如何使用pcolormesh在2D网格中绘制特定正方形的轮廓?

来自分类Dev

opencl上的2D网格块

来自分类Dev

Python 2d网格:为网格中的坐标分配值

来自分类Dev

如何在2D模式下绘制网格?

来自分类Dev

在C中使用动态2D数组绘制网格

来自分类Dev

在2D网格上从点云创建网格

来自分类Dev

在2D网格上从点云创建网格

来自分类Dev

我如何在2D网格上插值向量

来自分类Dev

在OpenGL中绘制2D纹理

来自分类Dev

在matplotlib中绘制2D函数

来自分类Dev

在OpenGL中绘制2D Quad

来自分类Dev

在Excel中绘制2D图形

来自分类Dev

在Java中的2D数组上查找值的位置

来自分类Dev

在MATLAB中以不同的高度在3D轴上绘制不同的2D椭圆图

来自分类Dev

在Matlab中根据值绘制具有不同颜色的2d数据

来自分类Dev

如何在python中的常规3D网格上找到相邻的线

来自分类Dev

绘图画布上的2D阵列网格

来自分类Dev

在2D网格上找到8个邻居的节点

来自分类Dev

在锯齿状2D网格上向外螺旋

来自分类Dev

p5js mousePressed在2D网格上

来自分类Dev

随机分布网格点处的2D插值

来自分类Dev

在3D空间中使用GLSL绘制2D网格