2

给定以下示例和图表,如何能够在每个点旁边绘制 x 轴的确切值?

x <- mtcars[order(mtcars$mpg),] # sort by mpg
x$cyl <- factor(x$cyl) # it must be a factor
x$color[x$cyl==4] <- "red"
x$color[x$cyl==6] <- "blue"
x$color[x$cyl==8] <- "darkgreen"    
dotchart(x$mpg,labels=row.names(x),cex=.7,groups= x$cyl,
 main="Gas Milage for Car Models\ngrouped by cylinder",
   xlab="Miles Per Gallon", gcolor="black", color=x$color)

我尝试修改标签参数,但它只调整 y 轴标签名称。

4

1 回答 1

2

您需要按类别排序,然后按 x。然后,您可以text按照 Ricardo 的建议使用,考虑类别之间的中断。

x <- mtcars[order(-mtcars$cyl, mtcars$mpg),]
# sort by category, then by position within category

# As above
x$cyl <- factor(x$cyl) # it must be a factor
x$color[x$cyl==4] <- "red"
x$color[x$cyl==6] <- "blue"
x$color[x$cyl==8] <- "darkgreen"    
dotchart(x$mpg,labels=row.names(x),cex=.7,groups= x$cyl,
         main="Gas Milage for Car Models\ngrouped by cylinder",
         xlab="Miles Per Gallon", gcolor="black", color=x$color)

# Adding text
text(x = x$mpg,
     y = 1:nrow(x) + ifelse(x$cyl == "6", 2, ifelse(x$cyl == "4", 4, 0)),
     labels= x$mpg,
     cex = 0.5,
     pos = 4)
于 2013-05-14T20:23:56.460 回答