R 如何更改分组晶格xyplot中的x轴值
我在R中有以下样本数据R 如何更改分组晶格xyplot中的x轴值,r,ggplot2,lattice,R,Ggplot2,Lattice,我在R中有以下样本数据 d <- read.table(text = "Grp Var Col1 Col2 Col3 grp_1 8 46.8 50.0 50.6 grp_1 16 95.6 47.4 48.0 grp_1 24 45.1 45.6 46.4 grp_1 32 68.8 44.3 58.2 grp_1 40 44.6 52.2 44.3 grp_1 48
d <- read.table(text =
"Grp Var Col1 Col2 Col3
grp_1 8 46.8 50.0 50.6
grp_1 16 95.6 47.4 48.0
grp_1 24 45.1 45.6 46.4
grp_1 32 68.8 44.3 58.2
grp_1 40 44.6 52.2 44.3
grp_1 48 86.5 42.2 68.6
grp_2 40 63.2 95.6 63.0
grp_2 60 66.7 67.5 65.6
grp_2 80 69.6 70.7 67.9
grp_2 100 71.9 73.4 69.3
grp_2 120 73.8 75.7 48.0
grp_3 500 51.9 50.0 50.5
grp_3 1000 65.5 53.0 53.4
grp_3 5000 61.2 99.0 59.9
grp_3 10000 80.1 63.0 62.8
grp_3 30000 25.9 33.8 14.2
", header=T
)
情节如下所示:
显然,第1组和第2组绘制的值看起来很混乱,因为x轴值是5001000000000,而不是8,16,24,32,40,48和40,60,80100120。有没有办法最好使用xyplot来确定组1和组2的x轴值?我也愿意接受其他很酷的建议。例如,预期输出可以如下所示:
因为您也将其标记为ggplot2,所以这里有一个ggplot2解决方案 我个人认为这比基本情节简单得多,但我有着难以置信的偏见 图书馆管理员 杜龙% pivot\u longernames\u to=key,values\u to='value',containsCol ggplotd_long,aesVar,值,颜色=键+ 几何线+ 刻面网格~Grp,比例=自由+ 刻度\颜色\手动值=CCC000008000,0073e6
由v0.3.0于2020年4月28日创建,因为您也将其标记为ggplot2,这里是ggplot2解决方案 我个人认为这比基本情节简单得多,但我有着难以置信的偏见 图书馆管理员 杜龙% pivot\u longernames\u to=key,values\u to='value',containsCol ggplotd_long,aesVar,值,颜色=键+ 几何线+ 刻面网格~Grp,比例=自由+ 刻度\颜色\手动值=CCC000008000,0073e6 由v0.3.0于2020年4月28日创建,如果使用relation=free的scales选项,我会得到一个类似于上面@Tjebo的图。。不是3个相同的图:
xyplot(
Col1 + Col2 + Col3 ~ Var | Grp,
data=d,
superpose=T,
as.table=TRUE,
col=c("#cc0000","#008000", "#0073e6"),
lwd=1.5, ylim = c(0,120),
ylab = list(label=expression("My Values"), fontsize=15),
xlab = list(label="Var",fontsize=15),
key=list(
text = list(c("Col1", "Col2", "Col3")),
lines = list( lwd=1.5, col=c("#cc0000","#008000", "#0073e6")),
corner = c(1, 0),
x = 0.90,
y = 0.17),
par.settings = list(strip.background=list(col="white")),
scales=list(cex=1.2,x=list(relation="free")),
type=c("l","g")
)
如果使用relation=free的scales选项,我会得到一个类似于上面@Tjebo的图。。不是3个相同的图:
xyplot(
Col1 + Col2 + Col3 ~ Var | Grp,
data=d,
superpose=T,
as.table=TRUE,
col=c("#cc0000","#008000", "#0073e6"),
lwd=1.5, ylim = c(0,120),
ylab = list(label=expression("My Values"), fontsize=15),
xlab = list(label="Var",fontsize=15),
key=list(
text = list(c("Col1", "Col2", "Col3")),
lines = list( lwd=1.5, col=c("#cc0000","#008000", "#0073e6")),
corner = c(1, 0),
x = 0.90,
y = 0.17),
par.settings = list(strip.background=list(col="white")),
scales=list(cex=1.2,x=list(relation="free")),
type=c("l","g")
)
非常感谢您的建议,我为xyplot的一些帮助祈祷:。非常感谢您的建议,我为xyplot的一些帮助祈祷:。谢谢您,克利夫沃尔夫:,正是我所需要的!这些图不会完全相同,只是为了说明预期的输出。是否可以为每个图指定一个单独的x轴标题?请查看我的预期输出。我尝试了xlab=listlabel=cVar1、Var2、Var3、fontsize=15,但它更改了绘图网格底部的文本,将底部的Var替换为Var1、Var2、Var3,而不是每个绘图的标题。它不起作用,因为panel.xyplot不接受单个轴标签。。hmm可能必须定义一个手动面板.xyplot。。你要试一试吗?我以后可以看一看你是对的,我一直在钻研,但没能做到。任何帮助都将不胜感激!谢谢你,克利夫沃尔夫,正是我所需要的!这些图不会完全相同,只是为了说明预期的输出。是否可以为每个图指定一个单独的x轴标题?请查看我的预期输出。我尝试了xlab=listlabel=cVar1、Var2、Var3、fontsize=15,但它更改了绘图网格底部的文本,将底部的Var替换为Var1、Var2、Var3,而不是每个绘图的标题。它不起作用,因为panel.xyplot不接受单个轴标签。。hmm可能必须定义一个手动面板.xyplot。。你要试一试吗?我以后可以看一看你是对的,我一直在钻研,但没能做到。任何帮助都将不胜感激!