这次我们来讨论如何利用R的基础作图,在上面进行图例的标注:
问题的由来是日常看推特的时候,发现一些好玩的,与大家分享:https://stats.stackexchange.com/questions/3879/how-to-put-values-over-bars-in-barplot-in-r
我就盗用上述代码来讲事情:
##Create plot
barplot(matrix(c(5, 3, 8, 9), nr=2), beside=TRUE,
col=c("aquamarine3", "coral"),
names.arg=LETTERS[1:2],
ylim=range(0,12))
##Add text at coordinates: x=2, y=6
##Use trial and error to place them
text(2, 6, "A label")
text(5, 10, "Another label")
在基础作图里面,例如barplot里面有个参数是names.arg,这个参数可以传入文本
在此例中,LETTERS[1:2]指的是有两个分组,A,B两组:
barplot(matrix(c(5, 3, 8, 9 ,7 ,9), nr=3), beside=TRUE,
col=c("aquamarine3", "coral"),
names.arg=LETTERS[1:2],
ylim=range(0,12))
在此例中LETTERS[1:3]指的是分为三个组,A,B,C三个组:
barplot(matrix(c(5, 3, 8, 9 ,7 ,9), nr=2), beside=TRUE,
col=c("aquamarine3", "coral"),
names.arg=LETTERS[1:3],
ylim=range(0,12))
那么接下来用text()就可以了
##Create plot
barplot(matrix(c(5, 3, 8, 9 ,7 ,9), nr=2), beside=TRUE,
col=c("aquamarine3", "coral"),
names.arg=LETTERS[1:3],
ylim=range(0,12))
##Add text at coordinates: x=2, y=6
##Use trial and error to place them
text(2, 6, "A label") #数字为位置坐标
text(5, 10, "B label") #数字为位置坐标
text(8, 10, "C label") #数字为位置坐标