R语言技术问询:如何访问柱状图Y轴的自动计数值?
如何访问ggplot中geom_bar自动生成的Y轴计数值
有两种实用方法可以获取这些自动统计的计数值:
提前手动统计数据(推荐)
直接用dplyr的count()函数先算出每个城市的出现次数,既能拿到明确的计数值,绘图逻辑也更清晰:library(dplyr) library(ggplot2) # 清理数据并统计城市出现次数 city_counts <- bigger_data %>% drop_na() %>% arrange(Total.Value) %>% count(City, name = "Count") # 用统计好的数据绘图(改用geom_col,因为已有明确的Y轴数值) ggplot(city_counts, aes(x = City, y = Count)) + geom_col() # 直接查看所有城市的计数值 print(city_counts)这里
count()生成的City和Count列就是你需要的城市名称与对应出现次数,随时可以调用。从已绘制的ggplot对象中提取
如果已经完成绘图,不想重新统计,可以从ggplot对象里提取底层数据:# 先把图保存为对象 p <- bigger_data %>% drop_na() %>% arrange(Total.Value) %>% ggplot(aes(x=City)) + geom_bar() # 提取绘图使用的数据集 plot_data <- ggplot_build(p)$data[[1]] # 取出城市名称与对应的计数值 print(plot_data[, c("label", "count")])ggplot_build(p)$data[[1]]里的count字段就是geom_bar自动统计的Y轴数值,label字段对应原始的城市名称。
内容的提问来源于stack exchange,提问作者Humberto Hernandez
相关产品推荐
相关产品推荐

