这已经被多次质疑,比如在R的Barplot中的这个X轴
但没有人帮助我解决我的问题
dt<- structure(c(79L, 54L, 37L, 41L, 42L, 121L, 134L, 169L, 23L, 19L,
22L, 19L, 25L), .Names = c("Experi_1", "Experi_2", "Experi_3",
"Experi_4", "Experi_5", "Experi_6", "Experi_7", "Experi_8", "Experi_9",
"Experi_10", "Experi_11", "Experi_12", "Experi_13"))
Run Code Online (Sandbox Code Playgroud)
我像这样绘制我的数据
mydt<- barplot(dt)
Run Code Online (Sandbox Code Playgroud)
如果我这样做,它会覆盖x轴的两倍
axis(side=1,at=mydt[1+c(1,13)],labels=c("Experi1","Experi13"))
Run Code Online (Sandbox Code Playgroud)
它会自动设置几个x轴标签.我想手动完成,例如只提到x轴标签和结束的开头.在这种情况下,实验1和实验13.我试图理解?轴和特殊标签,但我无法将其设置为像我想要的轴标签.
参数names.arg的barplot功能,您可以自定义你的标签,你想要的方式.您只需要为参数指定一个名称向量,其长度与条数相同:
例如,只放置第一个和最后一个:
barplot(dt, names.arg=c("Experi_1", rep("", 11), "Experi_13"))
Run Code Online (Sandbox Code Playgroud)
另一个例子,放5个标签:
barplot(dt, names.arg=c(names(dt)[1:5], rep("", 2), names(dt)[8:13]))
Run Code Online (Sandbox Code Playgroud)
编辑
如果你想按顺序放置标签(例子每5个),你可以这样做:
lab <- rep("", length(dt))
lab[seq(1, length(dt), by=5)] <-names(dt)[seq(1, length(dt), by=5)]
barplot(dt, names.arg=lab)
Run Code Online (Sandbox Code Playgroud)