用barplot() 做条形图
然后用 text( )标数值即可
举例:
x=round(runif(10)*10,1) #取10个随机数值
barplot(x) #绘图
text(1:10*1.2-.5,x,x) #加数值标识
ggplot2包可以用来绘图,其中的geom_text函数可以设置标签:library(plyr)
library(ggplot2)
library(scales)
dtf <- data.frame(x = c("ETB", "PMA", "PER", "KON", "TRA",
"DDR", "BUM", "MAT", "HED", "EXP"),
y = c(.02, .11, -.01, -.03, -.03, .02, .1, -.01, -.02, 0.06))
ggplot(dtf, aes(x, y)) +
geom_bar(stat = "identity", aes(fill = x)) +
geom_text(aes(label = paste(y * 100, "%"),
vjust = ifelse(y >= 0, 0, 1))) +
scale_y_continuous("Anteil in Prozent", labels = percent_format())
那么圆形的树状图如何实现呢?我查找了一下相关资料。R语言包 dendextend 这个包可以实现,利用 help(package="dendextend") 查看帮助文档,能够看到其中的一个小例子
但是这个后期美化起来好像不太方便。
还找到了一个参考链接是
http://talgalili.github.io/dendextend/articles/dendextend.html
介绍的也是 dendextend 这个包的用法。
这个时候再运行上面提到的例子就可以直接得到结果
把树的形状改为圆形,添加样本的名称
鸢尾花数据集是150个样本,用圆形的图看下效果
最终的结果是
这里关于最外圈文本位置的调整,我还的再仔细看看,这里出图后位置不太合适,我是手动调整的!