R 中的元胞自动机 - 消失状态在水平图中改变颜色
Cellular Automaton in R - disappearing states change color in levelplot
大家下午好!
目前正在研究 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 个状态,但由于这是我第一次在这里发布问题,显然它们会显示为图像(希望它有效!)。
具有 4 个状态的水平图:
具有 3 个状态的水平图:
当存在4个状态时,状态2显示为白色,但当只剩下3个状态时(第二张图),状态2显示为蓝色。
我的问题是:如果一种或多种状态消失,如何防止颜色发生变化?
我刚开始学习使用 R 编写代码,因此此页面最近非常有用。感谢所有让这个地方保持活力的人!
对 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
P.s。欢迎来到 SO——请尝试为您的问题提供一个最小的工作示例(例如 matriu
的一些虚假数据)。
大家下午好!
目前正在研究 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 个状态,但由于这是我第一次在这里发布问题,显然它们会显示为图像(希望它有效!)。
具有 4 个状态的水平图:
具有 3 个状态的水平图:
当存在4个状态时,状态2显示为白色,但当只剩下3个状态时(第二张图),状态2显示为蓝色。
我的问题是:如果一种或多种状态消失,如何防止颜色发生变化?
我刚开始学习使用 R 编写代码,因此此页面最近非常有用。感谢所有让这个地方保持活力的人!
对 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
P.s。欢迎来到 SO——请尝试为您的问题提供一个最小的工作示例(例如 matriu
的一些虚假数据)。