Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/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中刻度上的值_R_Image_Plot_Scale - Fatal编程技术网

添加箭头以指向R中刻度上的值

添加箭头以指向R中刻度上的值,r,image,plot,scale,R,Image,Plot,Scale,我想知道如何添加一个箭头,直接指向绘图旁边比例上的某个值 假设我在不同的年份有不同的价值。我想通过直接指向刻度来知道特定年份的值是多少。例如,我想知道2010年的价值是多少。然后比例将指向下图所示的位置: 在此图像中,添加了箭头。 我真正希望的是(我不知道怎么做),只打印带有箭头的刻度,而不打印图形,这样我就可以把刻度放在我想要的地方,放在另一个图形上。有点像这样: 下面是复制图像的代码,没有箭头(高度受影响) efforce=structure(c(-1.2696471203597,0.1

我想知道如何添加一个箭头,直接指向绘图旁边比例上的某个值

假设我在不同的年份有不同的价值。我想通过直接指向刻度来知道特定年份的值是多少。例如,我想知道2010年的价值是多少。然后比例将指向下图所示的位置:

在此图像中,添加了箭头。

我真正希望的是(我不知道怎么做),只打印带有箭头的刻度,而不打印图形,这样我就可以把刻度放在我想要的地方,放在另一个图形上。有点像这样:

下面是复制图像的代码,没有箭头(高度受影响)

efforce=structure(c(-1.2696471203597,0.176082447349155,1.17697214807067,,
-0.101942469517932, -1.04722718686603, -0.99162220349261, 0.0648724806023204, 
2.40028178228585, 0.00926749722890297, -0.101942469517932, 0.00926749722890297, 
-0.324362403011601),.Dim=c(12L,1L),“`scaled:center`=127.333,`scaled:scale`=71.9359984902405,decostand=“standard”,.Dimnames=list(
c(2003,2004,2005,2006,2007,2008,2009),,
“2010年”、“2011年”、“2012年”、“2013年”、“2014年”,空)
绘图(工作量,类型=“n”)

image.scale您可以使用
text
功能添加年份值,并使用
arrows
功能添加相应的箭头。在每种情况下,
efforce
都为垂直放置提供y值。1添加
xpd=TRUE
,以便打印区域外的文本/箭头不会被剪裁。请注意,我还更改了左边距,以便为文本和箭头提供更多空间

par(mar=c(1,4,1,4))
image.scale(effort, col=pal.1(length(breaks)-1), breaks=breaks, horiz=FALSE, 
            yaxt="n", ylab="")
axis(4,at=breaks, las=2)
text(-0.11, effort, rownames(effort), cex=0.8, col="red", xpd=TRUE)
arrows(-0.07, effort, x1=-0.01, length=0.1, col="red", xpd=TRUE)
在下图中,请注意有些年份重叠,因此可能需要移动文本和箭头以查找重叠值



1散点图(x轴上的年份,y轴上的努力)不是能更好地阐明这种关系吗?除非您的真实数据是多变量的,否则色标看起来有些过分。这只是一个玩具示例。

非常感谢!这是因为我在画一个图表,里面有很多东西。但我想表明,这张图是在一定的努力条件下绘制的。因此,我发现添加一个像这样的刻度可能是一个很好的视觉方式来指示其他参数(努力)的情况。我只需要找到一种方法将这个比例添加到我的图表中
par(mar=c(1,4,1,4))
image.scale(effort, col=pal.1(length(breaks)-1), breaks=breaks, horiz=FALSE, 
            yaxt="n", ylab="")
axis(4,at=breaks, las=2)
text(-0.11, effort, rownames(effort), cex=0.8, col="red", xpd=TRUE)
arrows(-0.07, effort, x1=-0.01, length=0.1, col="red", xpd=TRUE)