R 使用ggplot2创建不带集合“的直线图”;“是吗?”;?

R 使用ggplot2创建不带集合“的直线图”;“是吗?”;?,r,ggplot2,R,Ggplot2,我想我正在尝试创建geom_线版本的geom_条。我想排队的原因是因为当我进入 geom_bar(aes(fill = Decile), position = position_dodge()) 我被十个部分卡住了,条形图看起来非常混乱。底部有11个单独的x变量问题是我不知道如何使用count作为“y”变量,并尝试过类似.count..和其他方法,但我完全不知所措。有什么想法吗? 谢谢你的帮助 我的数据如下所示: 名称十进制除法 乔1圣地亚哥 1月1日纽约 杰伊2号圣地亚哥 达拉斯路3号 苏

我想我正在尝试创建geom_线版本的geom_条。我想排队的原因是因为当我进入

geom_bar(aes(fill = Decile), position = position_dodge())
我被十个部分卡住了,条形图看起来非常混乱。
底部有11个单独的x变量
问题是我不知道如何使用count作为“y”变量,并尝试过类似
.count..
和其他方法,但我完全不知所措。有什么想法吗?
谢谢你的帮助

我的数据如下所示:

名称十进制除法
乔1圣地亚哥
1月1日纽约
杰伊2号圣地亚哥
达拉斯路3号
苏兹2号西雅图
达拉斯3号公路

MCD <- read.csv("Decile15.csv", header = TRUE)

MCD$MonthNo <- factor(MCD$MonthNo, levels = c(1:11), labels = c("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November"))

Decile_names <- c('1' = "Decile #1",
                '2' = "Decile #2",
                '3' = "Decile #3",
                '4' = "Decile #4",
                '5' = "Decile #5"
                 )





MCDGraph <- ggplot(na.omit(MCD), aes(MonthNo))

MCDGraph + geom_bar(aes(fill = Division), color = "black", position = "fill") +     facet_wrap(~Decile, nrow = 1, labeller = labeller(Decile = as_labeller(Decile_names))) + theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5)) +     scale_fill_manual(values = c("#DA4424", "#24A0DA", "#F0BC0B", "#43F749", "#4348F7", "#F74369", "#D7B9F5")) + theme(panel.background = element_rect(colour = "black", fill = "white"), panel.grid.minor = element_line(color = "black", size = .5)) + labs(x = "2017", y = "% of Leads Per Month By Division") + scale_y_continuous(labels = percent_format()) + theme(strip.background = element_blank(), strip.text = element_text(size = 25))
MCD这会让你


df不确定这将如何处理您的真实数据,但是您可以使用
ggrigdes
软件包探索一些在这种情况下看起来不错的方法。示例如下:

  library(ggridges)
  library(dplyr)
  library(ggplot2)


  set.seed(99)

  MCD <- tibble(
                Name = sample(c("Joe", "Jay", "Susan", "Nancy", "Mark"), 1000, T),
                Decile = sample(1:10,1000, T) ,
                Division = sample(c('San Diego', 'New York', 'Dallas', 'Seattle', 'LA'), 1000, T),
                MonthNo = sample(1:11, 1000 , T))


  MCD$MonthNo <- factor(MCD$MonthNo, levels = c(1:11), labels = c("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November"))

  MCD %>% group_by(Decile, MonthNo) %>% summarize(Count = n()) %>% 
       ungroup() %>%  mutate(Decile = factor(Decile)) %>%  
       ggplot(aes(x = MonthNo, y = Decile, height = Count, group = Decile, fill = Decile)) + 
       geom_density_ridges(alpha = 0.7, show.legend = F, stat = "identity", scale = 1)
库(ggridges)
图书馆(dplyr)
图书馆(GG2)
种子集(99)
MCD%汇总(计数=n())%>%
解组()%%>%突变(十分位数=因子(十分位数))%%>%
ggplot(aes(x=MonthNo,y=Decile,height=Count,group=Decile,fill=Decile))+
几何密度脊线(α=0.7,show.legend=F,stat=“identity”,scale=1)

欢迎使用堆栈溢出!您的问题不包含(MCVE)。这使得你很难理解和回答你的问题。请分享相关代码、您的数据摘录和预期结果。您可以找到关于如何为R创建goo MCVE的详细信息。您可以尝试获取geom_bar的线条版本,但您是否愿意将其分面?你可以做
ggplot(mpg,aes(x=class))+geom_-bar(aes(fill=manufacturer),position=dodge)
而不是
ggplot(mpg,aes(x=manufacturer))+geom_-bar(aes(fill=manufacturer),position=dodge,show.legend=F)+facet_-wrap(~class,scales='free_-x')+主题(axis.text.x=元素文本(angle=45,hjust=1))
谢谢你的建议。我确实包装了另一个,我让每一个十分位数显示计数,并按除法分组。也做了百分之百的版本。我想要一个有10行(每十分之一行)的表格,显示到目前为止一年中每个月的计数。对不起,我解释得不够清楚。你能发布你的数据的表示吗?我注意到你在上面做的一个没有包括在你的绘图中使用的
MonthNo
。像这样的东西能代表它吗<代码>MCD是的,这将是一个很好的表示。我的文件有4000多行,但是是的,有一个唯一的键,1个十分位(1-10),1个分区(每个城市7个)和1个月号(今年记录出现时的1-11个)。我想为每一个十分位数画一条线,线的点代表数量。x变量是月数,因此1-11穿过底部。就像十分位2在第3个月发生了300次一样,十分位5在第3个月发生了600次。不幸的是,它告诉我统计需要以下缺失的美学:x。也许我的数据框要复杂得多,我会编辑我的帖子来描述我正在处理的事情。这就是为什么我要写“aes(x=x)”。你能提供你的代码吗?否则很难理解问题是什么…我在上面贴了。你的例子奏效了。让我来说明我的意思。我无法运行您的代码,因为我没有文件“2017\u Full\u year.csv”。你能把它上传到什么地方吗。或者在R控制台中键入“dput(MC)”,如果data.frame不是很大,则粘贴输出。我的文件有4000多行,有一个唯一的键、1个十分位数(1-10)、1个分区(每个城市7个)和1个月编号(今年记录出现时为1-11个)。我想为每一个十分位数画一条线,线的点代表数量。x变量是月数,因此1-11穿过底部。就像十分位2在第3个月发生了300次一样,十分位5在第3个月发生了600次。十分位2在第7个月有100个,以此类推。。我只想每十分位数换一行。问题是,我没有计数。虽然我现在可以创建一个新文件
df <- data.frame(x=c(1,1,1, 3,3, 10,10,10,10))
ggplot(df, aes(x=x)) + geom_line(stat="count")
library(dplyr)
library(ggplot2)

set.seed(99)
#create dummy dataset 
MCD <- tibble(
Name = sample(c("Joe", "Jay", "Susan", "Nancy", "Mark"), 1000, T),
Decile = sample(1:10,1000, T) ,
Division = sample(c('San Diego', 'New York', 'Dallas', 'Seattle', 'LA'), 1000, T),
MonthNo = sample(1:11, 1000 , T))

MCD$MonthNo <- factor(MCD$MonthNo, levels = c(1:11), 
labels = c("January", "February", 
"March", "April", "May", 
"June", "July", "August", 
"September", "October", "November"))

#create a numeric months vector
MonthNum <- 1:11
names(MonthNum) <- levels(MCD$MonthNo)

#create a factor to be used for facets
MCD$DecileF <- factor(
  MCD$Decile, 
  levels=as.character(sort(unique(MCD$Decile),
                           decreasing = TRUE)))

ggplot(MCD, aes(x = MonthNum[MonthNo], col=DecileF)) + 
  geom_path(stat = "count") +
  #geom_point(stat = "count") + 
  facet_grid(DecileF~.) + 
  scale_x_discrete(name ="Month", limits=names(MonthNum))
  library(ggridges)
  library(dplyr)
  library(ggplot2)


  set.seed(99)

  MCD <- tibble(
                Name = sample(c("Joe", "Jay", "Susan", "Nancy", "Mark"), 1000, T),
                Decile = sample(1:10,1000, T) ,
                Division = sample(c('San Diego', 'New York', 'Dallas', 'Seattle', 'LA'), 1000, T),
                MonthNo = sample(1:11, 1000 , T))


  MCD$MonthNo <- factor(MCD$MonthNo, levels = c(1:11), labels = c("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November"))

  MCD %>% group_by(Decile, MonthNo) %>% summarize(Count = n()) %>% 
       ungroup() %>%  mutate(Decile = factor(Decile)) %>%  
       ggplot(aes(x = MonthNo, y = Decile, height = Count, group = Decile, fill = Decile)) + 
       geom_density_ridges(alpha = 0.7, show.legend = F, stat = "identity", scale = 1)