小编Jon*_*now的帖子

如何有效地将多个rgl图连接到一个单独的图中?

rgl为我的数据的每个因子级别生成了包含3D图,并将它们保存为png.我的数据有30个不同的级别,导致30个不同的图像文件.现在我想将这些png组合成一个单独的图.

我会像这样显示它们:

在此输入图像描述

以下示例说明了我想要做的事情:

library(rgl)
library(png)
library(gridExtra)
library(ggplot2)

## creates a png in the working directory which can be used as an example
example(surface3d)
rgl.snapshot("example.png")
rgl.close()

## imports the png files; in the example, the same file is imported multiple times.
if(exists("png.df")) rm(png.df)
for (i in 1:9) {
  png.i <- readPNG("example.png")

  g <- rasterGrob(png.i, interpolate=TRUE)
  g <- g$raster
  g <- as.vector(g)
  g <- matrix(g, nrow = 256, ncol = 256, dimnames = list(1:256, 1:256))

  df.i <- data.frame(i = rep(row.names(g), …
Run Code Online (Sandbox Code Playgroud)

plot png r ggplot2 rgl

4
推荐指数
1
解决办法
1465
查看次数

ggplot facet_wrap,每个方面都有特定的变量顺序

我想用ggplot绘制这些数据:

library(ggplot2)
set.seed(0)
df <- data.frame(
  var1 = rep(c("group1", "group2"), each = 3),
  var2 = rep(letters[1:3], 2),
  value = runif(6, 0, 10)
)
Run Code Online (Sandbox Code Playgroud)

情节应该像这样:

pl <- ggplot(df, aes(var2, value))
pl <- pl + geom_col()
pl <- pl + facet_wrap(~ var1, scales = "free")
pl
Run Code Online (Sandbox Code Playgroud)

var2x轴上的顺序应该通过增加的顺序来确定value.我可以做到这一点:

df$temp_var <- paste(df$var1, df$var2)
pl <- ggplot(df, aes(reorder(temp_var, value), value))
pl <- pl + geom_col()
pl <- pl + facet_wrap(~ var1, scales = "free")
pl
Run Code Online (Sandbox Code Playgroud)

但是,x轴标签应该是a,bc.通常情况下,我会转换 …

r facet ggplot2

2
推荐指数
1
解决办法
1105
查看次数

标签 统计

ggplot2 ×2

r ×2

facet ×1

plot ×1

png ×1

rgl ×1