【问题标题】:Cellular Automaton in R - disappearing states change color in levelplotR中的元胞自动机 - 消失状态在levelplot中改变颜色
【发布时间】:2018-11-25 18:42:30
【问题描述】:

大家下午好!

目前正在研究 R 中的元胞自动机(适用于入侵物种的流行病建模)。单元格可以处于 4 种不同的状态:0、1、2、3。到目前为止,我已经绘制了矩阵的图(使用 levelplot),并观察它在固定数量的步骤中的变化(根据设定的规则和每种邻居的数量)。

代码如下(整个脚本未显示):

matriu # matrix with cells in either state (0,1,2,3)
colors  <- colorRampPalette(c("green", "red", "white", "blue"))
graph   <- levelplot(matriu, col.regions = colors, cuts = 3)
print(graph)

随着自动机逐步变化,可能会丢失 1 或 2 个状态。这意味着矩阵可以从具有状态 (0,1,2,3) 转换为具有状态 (0,1,2) 或 (1,2)。

我尝试嵌入几个具有 4 个状态与 3 个状态的彩色矩阵图像,但由于这是我第一次在这里发布问题,显然它们会显示为图像(希望它有效! )。

Levelplot 有 4 个状态:

具有 3 个状态的 Levelplot:

当存在 4 个状态时,状态 2 显示为白色,但当仅保留 3 个状态时(第二张图),状态 2 显示为蓝色。

我的问题是:如果一个或多个状态消失,如何防止颜色发生变化?

我刚开始学习使用 R 编码,所以这个页面最近非常有用。感谢所有让这个地方保持活力的人!

【问题讨论】:

    标签: r lattice levelplot cellular-automata


    【解决方案1】:

    对levelplot 使用at 参数。例如:

    library(lattice)
    set.seed(123)
    matriu <- matrix(sample(0:3, 100, replace = TRUE), nc = 10)
    colors  <- colorRampPalette(c("green", "red", "white", "blue"))
    graph   <- levelplot(matriu, col.regions = colors, at = c(-.1, .5:2.5, 3.1))
    graph
    

    matriu <- matrix(sample(1:2, 100, replace = TRUE), nc = 10)
    graph   <- levelplot(matriu, col.regions = colors, at = c(-.1, .5:2.5, 3.1))
    graph
    

    附:欢迎来到 SO - 请尝试在您的问题中提供一个最小的工作示例(例如 matriu 的一些假数据)。

    【讨论】:

      猜你喜欢
      • 2011-04-12
      • 2022-06-12
      • 1970-01-01
      • 2017-01-24
      • 1970-01-01
      • 2019-10-03
      • 1970-01-01
      • 2020-05-05
      • 2017-12-29
      相关资源
      最近更新 更多