Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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的PAR图形模块中,指定一个向量作为“R”;srt=";论点_R_String_Plot_Rotation_Par - Fatal编程技术网

在R的PAR图形模块中,指定一个向量作为“R”;srt=";论点

在R的PAR图形模块中,指定一个向量作为“R”;srt=";论点,r,string,plot,rotation,par,R,String,Plot,Rotation,Par,如果正在进行打印,并且使用text()创建x轴标签,则可以指定字符串旋转或srt参数以及旋转轴标签的数字。例如,srt=45将文本旋转45度 假设我正好有31列。如果我希望第一个是水平的,然后让它们逐渐倾斜,最后一个是垂直的,可以想象这样写: slant=seq(0, -90, -3) plot(some stuff) text(x=mid, y=y.min-20, labels=chrs, xpd=TRUE, srt=slant, adj = 1, cex=1) 中间、中间和倾斜的长度相同

如果正在进行打印,并且使用text()创建x轴标签,则可以指定字符串旋转或
srt
参数以及旋转轴标签的数字。例如,
srt=45
将文本旋转45度

假设我正好有31列。如果我希望第一个是水平的,然后让它们逐渐倾斜,最后一个是垂直的,可以想象这样写:

slant=seq(0, -90, -3)
plot(some stuff)
text(x=mid, y=y.min-20, labels=chrs, xpd=TRUE, srt=slant, adj = 1, cex=1)
中间、中间和倾斜的长度相同


有什么方法可以实现这一点吗?

如果我正确理解这个问题,您可以通过一个简单的
for
循环来实现这一点:

plot.new()
Map(text, letters[1:5], x=seq(0,1,length=5), y=0.5, srt=seq(0,90, length=5))
slant=seq(0, -90, -3)
plot(1:31,1:31, type="n")

for(i in 1:length(slant)) {
  text(x=1+i, y=1, xpd=TRUE, srt=slant[i], labels=letters[i], adj = 1, cex=1)
}  

如果我理解正确,您可以通过一个简单的
for
循环实现这一点:

slant=seq(0, -90, -3)
plot(1:31,1:31, type="n")

for(i in 1:length(slant)) {
  text(x=1+i, y=1, xpd=TRUE, srt=slant[i], labels=letters[i], adj = 1, cex=1)
}  

我在这上面花了更多的时间。我设计了一个不同的解决方案:

    for(i in 1:31){
    text(x=mid[i], y=y.min-(17+i), labels=chrs[i], xpd=TRUE, srt=labelrotationparam[i], adj = 1, cex=1)
    }

请注意,我还使用I增加了y值,从而使标签均匀地位于轴下方

我在这方面花了更多的时间。我设计了一个不同的解决方案:

    for(i in 1:31){
    text(x=mid[i], y=y.min-(17+i), labels=chrs[i], xpd=TRUE, srt=labelrotationparam[i], adj = 1, cex=1)
    }

请注意,我还使用I增加了y值,从而使标签均匀地位于轴下方

如果你不想打印出所有的
NULL
,你可以用一个
不可见(…)
包裹住它。@Late Mail说得对。我倾向于分配一个伪变量,或者使用
plyr::m_ply
,如果你不想打印出所有的
NULL
,你可以在它周围包装一个
不可见(…)
。@最近的邮件很好。我倾向于分配一个虚拟变量,或者使用
plyr::m_ply