首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >绘制多个数据集并将类别与条形图进行比较

绘制多个数据集并将类别与条形图进行比较
EN

Stack Overflow用户
提问于 2021-07-06 00:43:00
回答 1查看 33关注 0票数 0

我有三个变量相同的数据集,我想比较这三个数据集之间29个不同类别的一个变量。下面的例子应该可以作为一个可重现的例子。我已经尝试绘制了它,但输出结果并不像预期的那样。我希望有三个酒吧彼此相邻,并在每个类别的情节一个小情节。

代码语言:javascript
复制
number_trackers = c(1, 2, 3, 4, 5, 6), 
category = c("Ads", "Analytics", "Ads", "Analytics", "Ads", "Ads"), 
c4 = c("url1.com","ur2.com","url3.com","url4.com","url5.com","url6.com"))

List_short_after=data.frame = c("Tracker1", "Tracker2", "Tracker3", "Tracker4","Tracker5","Tracker6"), 
number_trackers = c(1, 2, 3, 4, 5, 6), 
category = c("Ads", "Analytics", "Ads", "Analytics", "Ads", "Ads"), 
c4 = c("url1.com","ur2.com","url3.com","url4.com","url5.com","url6.com"))

List_after=data.frame = c("Tracker1", "Tracker2", "Tracker3", "Tracker4","Tracker5","Tracker6"), 
number_trackers = c(1, 2, 3, 4, 5, 6), 
category = c("Ads", "Analytics", "Ads", "Analytics", "Ads", "Ads"), 
c4 = c("url1.com","ur2.com","url3.com","url4.com","url5.com","url6.com")) 

ggplot(data = NULL, 
       mapping = aes(y = number_trackers,x=category)) +
  geom_col(data = List_before,fill= "#ca93ef", colour="#ca93ef") +
  geom_col(data = List_short_after,fill= "#5034c4", colour="#5034c4") +
  geom_col(data = List_after,fill= "#795fc6", colour="#795fc6") +
  facet_wrap(facets = vars(category))+
  theme_minimal() +
  theme(text = element_text(color = "#795fc6",size=12,face="bold"),
        axis.text = element_text(color = "#795fc6",size=14,face="bold"))+
  labs(  y = "Number Trackers", x = "Categories")

[![This is how the plot shut look like just with 3 bars instead of 2][1]][1]


  [1]: https://i.stack.imgur.com/nDq36.png
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-07 02:26:26

下面是可以帮助你达到目标的代码。请注意,我对您的输入数据进行了一些处理,因为它在您的问题中似乎不完整。

代码语言:javascript
复制
library(ggplot2)

List_before <- data.frame(
  list_id = "list_before",
  name = c("Tracker1", "Tracker2", "Tracker3", "Tracker4","Tracker5","Tracker6"),
  number_trackers = sample(c(1, 2, 3, 4, 5, 6)), 
  category = c("Ads", "Analytics", "Other 1", "Other 2", "Other 3", "Other 4"), 
  c4 = c("url1.com","ur2.com","url3.com","url4.com","url5.com","url6.com"))

List_short_after <- data.frame(
  list_id = "list_short_after",
  name = c("Tracker1", "Tracker2", "Tracker3", "Tracker4","Tracker5","Tracker6"),
  number_trackers = sample(c(1, 2, 3, 4, 5, 6)), 
  category = c("Ads", "Analytics", "Other 1", "Other 2", "Other 3", "Other 4"), 
  c4 = c("url1.com","ur2.com","url3.com","url4.com","url5.com","url6.com"))

List_after <- data.frame(
  list_id = "list_after",
  name = c("Tracker1", "Tracker2", "Tracker3", "Tracker4","Tracker5","Tracker6"),
  number_trackers = sample(c(1, 2, 3, 4, 5, 6)),
  category = c("Ads", "Analytics", "Other 1", "Other 2", "Other 3", "Other 4"), 
  c4 = c("url1.com","ur2.com","url3.com","url4.com","url5.com","url6.com")) 

df <- rbind(List_before, List_short_after, List_after)

df$list_id <- as.factor(df$list_id)
df$category <- as.factor(df$category)

ggplot(df, aes(y = number_trackers, x = list_id)) +
  geom_bar(aes(fill = list_id), stat = "identity", position = position_dodge()) +
  theme(axis.text.x = element_blank(),
        axis.ticks.x = element_blank()) +
  facet_grid(~category) +
  labs(y = "Number of Trackers", x = NULL)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68259519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档