geom_raster():简单示例
当我遵循以下步骤时,geom_raster()没有问题,但我没有成功地根据模拟数据绘制出自己的绘图。例如,给定以下数据geom_raster():简单示例,r,ggplot2,R,Ggplot2,当我遵循以下步骤时,geom_raster()没有问题,但我没有成功地根据模拟数据绘制出自己的绘图。例如,给定以下数据 R>true x1 x2 risk .82 .80 2.44 .87 -.72 -.57 -.42 .97 1.52 .66 .89 2.44 .28 -.83 -1.38 我使用以下内容构建ggplot: R> p <- ggplot(true, aes(x1, x2)) + geom_rast
R>true
x1 x2 risk
.82 .80 2.44
.87 -.72 -.57
-.42 .97 1.52
.66 .89 2.44
.28 -.83 -1.38
我使用以下内容构建ggplot:
R> p <- ggplot(true, aes(x1, x2)) +
geom_raster(aes(fill = risk))
R> p
以下代码比上一个示例更好地再现了该问题:
true <- list(x1 = c(0.829612086992711, 0.874150826595724, -0.427720930427313,
0.660895252134651, 0.283491037786007, 0.0381918982602656, 0.473176629282534,
-0.730666805524379, 0.313984580803663, 0.410129568073899, -0.0845164475031197,
0.438224503304809, 0.869344494305551, -0.489142351318151, -0.0754143549129367,
0.880029045511037, 0.956452856771648, -0.765025276690722, -0.0500058368779719,
0.120665492489934), x2 = c(0.808062774594873, -0.722579664550722,
0.977783457841724, 0.89333646511659, -0.835124883800745, 0.0284235686995089,
-0.219593065790832, 0.811476261820644, -0.10606074379757, 0.672008519992232,
0.475191235542297, 0.622110282536596, -0.22378343436867, 0.370339458808303,
-0.992103322409093, 0.665832160506397, -0.985331706237048, -0.584682054352015,
0.813202815596014, 0.223557286895812), risk = c(2.44573763618246, -0.57100850250572,
1.52784598525614, 2.44756818236783, -1.38675872981548, 0.0950390356592834,
0.03399049770087, 0.892285718116909, 0.101863093208522, 1.75414660805836,
0.865866023581475, 1.682445068378, 0.421777625568211, 0.251536566298455,
-2.05962099973112, 2.21169336652383, -1.01421055570245, -1.93438938539475,
1.57639979431406, 0.567780066281557))
true <- as_tibble(true)
true
p6 <- ggplot(true, aes(x1, x2)) +
geom_raster(aes(fill = risk))
p6
true您的绘图不是空白的,因为x1
和x2
和ggplot轴中的数字很小,您无法看到它们
为了在图中看到它们,我把x1
和x2
中的所有数字四舍五入到两位小数
首先,我将true
转换为data frame
,然后对所有数字进行四舍五入
true <- as.data.frame(true)
number <- sapply(true, is.numeric)
true[number ] <- lapply(true[number ], round, 2)
true我试过你的代码,看到了5个矩形。代码对我来说很好,请用dput(true)
和sessionInfo()的输出编辑你的帖子。另外,一个旁注可能会比true
更好地命名变量。这很奇怪。它确实适用于我给出的示例,但不适用于我的模拟。我给出的示例是我模拟的一个小示例。另外,我没有提到我将我的数据帧称为true
。
true <- as.data.frame(true)
number <- sapply(true, is.numeric)
true[number ] <- lapply(true[number ], round, 2)
p6 <- ggplot(true, aes(x1, x2)) +
geom_raster(aes(fill = risk))
p6