r语言 条形图上有数值

Python042

r语言 条形图上有数值,第1张

用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个样本,用圆形的图看下效果

最终的结果是

这里关于最外圈文本位置的调整,我还的再仔细看看,这里出图后位置不太合适,我是手动调整的!