如何将标签远离R中的饼图?
slices <- c(10, 12, 4, 16, 8)
lbls <- c("US", "UK", "Australia", "Germany", "France")
pct <- round(slices/sum(slices)*100)
lbls <- paste(lbls, pct) # add percents to labels
lbls <- paste(lbls,"%",sep="") # ad % to labels
pie(slices,labels = lbls, col=rainbow(length(lbls)), radius=.2)
Run Code Online (Sandbox Code Playgroud)
您可以修改pie-function行50-54并将其另存为新函数pie2
类型
pie
Run Code Online (Sandbox Code Playgroud)
将行更改50-54为
if (!is.na(lab) && nzchar(lab)) {
lines(c(1, 1.35) * P$x, c(1, 1.35) * P$y)
text(1.5 * P$x, 1.5 * P$y, labels[i], xpd = TRUE,
adj = ifelse(P$x < 0, 1, 0), ...)
}
Run Code Online (Sandbox Code Playgroud)
更改行长度(默认= 1.05)
lines(c(1, 1.35) * P$x, c(1, 1.35) * P$y)
Run Code Online (Sandbox Code Playgroud)
更改因子(默认= 1.1)
text(1.5 * P$x, 1.5 * P$y, labels[i], xpd = TRUE,
adj = ifelse(P$x < 0, 1, 0), ...)
Run Code Online (Sandbox Code Playgroud)
现在定义pie2并运行新函数
pie2(slices,labels = lbls, col=rainbow(length(lbls)), radius=.2)
Run Code Online (Sandbox Code Playgroud)