gpt4 book ai didi

r - 在ggplot2图中有条件地隐藏数据标签

转载 作者:行者123 更新时间:2023-12-04 10:44:06 25 4
gpt4 key购买 nike

我正在 ggplot 2 中创建一些堆叠条形图,并且想知道如果某些数据标签小于总数的定义百分比,例如 10%,我如何有条件地隐藏它们。

从下面代码生成的图中可以看出,一些标签相对于条的厚度变得太大。所以我想隐藏那些小于定义阈值的。如何修改下面的 ggplot 代码来实现这一点?谢谢!

library(ggplot2)
library(dplyr)

#Creating the dataset
my.data <- data.frame(dates = c("1/1/2014", "1/1/2014", "1/1/2014", "1/1/2014", "1/1/2014", "2/1/2014", "2/1/2014", "2/1/2014", "2/1/2014", "2/1/2014"),
fruits=c("apple", "orange", "pear", "berries", "watermelon", "apple", "orange", "pear", "berries", "watermelon"),
count=c(20, 30, 40, 2, 2, 30, 40, 50, 1, 1))

#Creating a positon for the data labels
my.data <-
my.data %>%
group_by(dates) %>%
mutate(pos=cumsum(count)-0.5*count)

#Plotting the data
ggplot(data=my.data, aes(x=dates, y=count, fill=fruits))+
geom_bar(stat="identity")+
geom_text(aes(y=pos, label=count), size=4)

最佳答案

您可以对 geom_text 中的数据进行子集化层。例如

ggplot(data=my.data, aes(x=dates, y=count, fill=fruits))+      
geom_bar(stat="identity")+
geom_text(data=subset(my.data, count>10), aes(y=pos, label=count), size=4)

enter image description here

关于r - 在ggplot2图中有条件地隐藏数据标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26869141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com