Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何更改分组晶格xyplot中的x轴值_R_Ggplot2_Lattice - Fatal编程技术网

R 如何更改分组晶格xyplot中的x轴值

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

我在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     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。。你要试一试吗?我以后可以看一看你是对的,我一直在钻研,但没能做到。任何帮助都将不胜感激!