R,如何更改为森林图 y 轴的间隔?
R, how to change to interval in the y axis of a forest plot?
我正在通过 forestplot package 在 R 中准备一个森林图。可能的值范围从 -1 到 +1,我希望它是我的 x 轴上的范围。但是,我的值范围从 0 到 1,因此 R 仅描述 x 轴上的那部分。
在此处查看图片:
如何让x轴的区间在-1到+1之间?我想在右边留下一个完整的空白 space 以显示那里没有任何价值。
这是我的代码:
library("forestplot")
cochrane_from_rmeta <-
structure(list(
lower = c(NA, NA, 0.026, 0.043, 0.184, 0.333, 0.026),
mean = c(NA, NA, 0.502, 0.534, 0.548, 0.792, 0.600),
upper = c(NA, NA, 0.978, 0.949, 0.911, 0.936, 0.967)),
.Names = c("mean", "lower", "upper"),
row.names = c(NA, -7L),
class = "data.frame")
tabletext<-cbind(
c("", "aaa", "bbb", "ccc",
"ddd", "eee",
"Summary"),
c("", "#datasets", "1", "2",
"3", "4",
NA))
png(paste0("forestPlot_",exe_num,".png"))
forestplot(tabletext,
cochrane_from_rmeta,
new_page = TRUE,
is.summary=c(TRUE,TRUE,rep(FALSE,4),TRUE),
clip=c(-1,1),
xlog=FALSE,
col=fpColors(box="royalblue",line="darkblue", summary="royalblue"))
似乎没有直接的方法可以做到这一点,但是如果您在第一行中设置 -1 和 1 的下限和上限,同时将 mean
保留为 NA
,它将修复 x 范围而不影响情节:
cochrane_from_rmeta <-
structure(list(
lower = c(-1, NA, 0.043, 0.043, 0.184, 0.333, 0.026),
mean = c(NA, NA, 0.502, 0.534, 0.548, 0.792, 0.600),
upper = c(1, NA, 0.978, 0.949, 0.911, 0.936, 0.967)),
.Names = c("mean", "lower", "upper"),
row.names = c(NA, -7L),
class = "data.frame")
tabletext<-cbind(
c("", "aaa", "bbb", "ccc",
"ddd", "eee",
"Summary"),
c("", "#datasets", "1", "2",
"3", "4",
NA))
forestplot(tabletext,
cochrane_from_rmeta,
new_page = TRUE,
is.summary=c(FALSE,TRUE,rep(FALSE,4),TRUE),
clip=c(-1,1),
xlog=FALSE,
mar = unit(c(50, 30, -30, 30), "pt"),
col=fpColors(box="royalblue",line="darkblue", summary="royalblue"),
graphwidth = unit(0.7, "npc"))
我正在通过 forestplot package 在 R 中准备一个森林图。可能的值范围从 -1 到 +1,我希望它是我的 x 轴上的范围。但是,我的值范围从 0 到 1,因此 R 仅描述 x 轴上的那部分。
在此处查看图片:
如何让x轴的区间在-1到+1之间?我想在右边留下一个完整的空白 space 以显示那里没有任何价值。
这是我的代码:
library("forestplot")
cochrane_from_rmeta <-
structure(list(
lower = c(NA, NA, 0.026, 0.043, 0.184, 0.333, 0.026),
mean = c(NA, NA, 0.502, 0.534, 0.548, 0.792, 0.600),
upper = c(NA, NA, 0.978, 0.949, 0.911, 0.936, 0.967)),
.Names = c("mean", "lower", "upper"),
row.names = c(NA, -7L),
class = "data.frame")
tabletext<-cbind(
c("", "aaa", "bbb", "ccc",
"ddd", "eee",
"Summary"),
c("", "#datasets", "1", "2",
"3", "4",
NA))
png(paste0("forestPlot_",exe_num,".png"))
forestplot(tabletext,
cochrane_from_rmeta,
new_page = TRUE,
is.summary=c(TRUE,TRUE,rep(FALSE,4),TRUE),
clip=c(-1,1),
xlog=FALSE,
col=fpColors(box="royalblue",line="darkblue", summary="royalblue"))
似乎没有直接的方法可以做到这一点,但是如果您在第一行中设置 -1 和 1 的下限和上限,同时将 mean
保留为 NA
,它将修复 x 范围而不影响情节:
cochrane_from_rmeta <-
structure(list(
lower = c(-1, NA, 0.043, 0.043, 0.184, 0.333, 0.026),
mean = c(NA, NA, 0.502, 0.534, 0.548, 0.792, 0.600),
upper = c(1, NA, 0.978, 0.949, 0.911, 0.936, 0.967)),
.Names = c("mean", "lower", "upper"),
row.names = c(NA, -7L),
class = "data.frame")
tabletext<-cbind(
c("", "aaa", "bbb", "ccc",
"ddd", "eee",
"Summary"),
c("", "#datasets", "1", "2",
"3", "4",
NA))
forestplot(tabletext,
cochrane_from_rmeta,
new_page = TRUE,
is.summary=c(FALSE,TRUE,rep(FALSE,4),TRUE),
clip=c(-1,1),
xlog=FALSE,
mar = unit(c(50, 30, -30, 30), "pt"),
col=fpColors(box="royalblue",line="darkblue", summary="royalblue"),
graphwidth = unit(0.7, "npc"))