以下代码绘制了以对数刻度的y轴表示的x元素计数的条形图。
library(ggplot2)
library(scales)
myData <- data.frame(
x = c(rep(1,22500),rep(2,6000),rep(3,8000),rep(4,5000),rep(11,86),rep(16,15),rep(31,1),rep(32,rep(47,1))
)
ggplot(myData,aes(x=x)) +
geom_bar(width = 0.5)+
geom_text(stat='count',aes(label = ..count..),vjust = -1,size=3)+
scale_y_log10(breaks = trans_breaks("log10",function(x) 10^x),labels = trans_format("log10",math_format(10^.x)))+
scale_x_continuous(breaks=(seq(1:47)))
下面是情节:
我的问题是:
-
如何删除计数为零的那些列的x轴刻度线/标签?
-
如何更好地显示列
31
,32
,47
的值? (计数为1的人) -
如何仅标记最高列的计数? (在这种情况下,列
22500
的{{1}})