Julia:网格上分类数据的可视化

有时需要在规则网格上绘制分类值以显示它们如何覆盖某个区域。原则上,plot() 函数非常适合这种情况,但是有一个问题需要每次调整图标的大小以创建实体封面的错觉。更改图像的覆盖范围时,旧尺寸变得无关紧要,需要再次调整。有没有一种技术可以自动调整这个大小?

using Plots
using CategoricalArrays
a = [1, 2, 3, 1, 2, 3, 1, 2, 3]
b = [1, 1, 1, 2, 2, 2, 3, 3, 3]
c = CategoricalArray(["X", "X", "Y", "Z", "Y", "Y", "Z", "Y", "Z"])
plot(a, b, group = c, seriestype = :scatter, aspect_ratio = 1, markersize=90, 
markershape=:square, markerstrokewidth=0.0, xlim = (0.5, 3.5), ylim = (0.5, 3.5))

结果在所有方面都很好,除了每次需要调整单元格的大小以使没有重叠区域或间隙时:

作为替代方案,我考虑了 heatmap(),但它对分类数据的工作非常奇怪,通过连续的值渐变为它们设置某种规模。我还没有遇到任何使用 heatmap() 会得到带有像 plot() 这样美丽图例的地图的例子,所以我不确定在这里使用 heatmap() 是否正确。

a = b = [1, 2, 3]
c = CategoricalArray(["X" "X" "Y"; "Z" "Y" "Y"; "Z" "Y" "Z"])
heatmap(a, b, c)

也许还有一些方法可以自动设置plot()的单元格大小?

以上是Julia:网格上分类数据的可视化的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>