首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用ggplot2绘制柱状图中的两个连续变量

用ggplot2绘制柱状图中的两个连续变量
EN

Stack Overflow用户
提问于 2018-02-05 07:14:12
回答 1查看 581关注 0票数 1

我想用ggplot绘制两个连续的变量。假设我有一个dataframe,其中一列是0和1之间的比率,另一列是数量。我希望能够在x轴上使用类似这样的东西来中断比率

代码语言:javascript
复制
 breaks=seq(0, 5, by = .1)

在y轴上,我想得到每个断点的总和。它看起来像一个直方图,但y轴应该是断裂率内所有列的总和。如果我做一个直方图,它会是这样的:

代码语言:javascript
复制
 ggplot(data=data, aes(ratio)) + 
 geom_histogram(breaks=seq(0, 1, by = .1), aes(fill=..count..))
EN

回答 1

Stack Overflow用户

发布于 2018-02-05 09:24:01

尝试这个示例脚本。脚本中的x代表你想要换行的变量,然后y代表你想在这些换行中求和的变量。最终产品,变量名"SUM“应该有你的总和,名为"facet”的变量应该有你可以画出的断点。

代码语言:javascript
复制
library(dplyr)
dataframe1<-data.frame(x=seq(0,1, length.out = 100), y = seq(0,1000, length.out = 100))
x<-mutate(dataframe1,facet = factor(rep(c("0-0.25", "0.25 - 0.50", "0.50 - 0.75", "0.75 - 1.0"), each = length(dataframe1$x)/4)))
x[,"SUM"]<-NA
x$SUM
list1<-as.list(matrix(unique(x$facet),nrow = 4, ncol = 1))
list1[[1]]
i<-1:4
facetfill<-function(i){
  sum1<-sum(x$y[x$facet==list1[[i]]])                      
  x$SUM[x$facet==list1[i]]<-sum1
  x$SUM
  }
for (j in 1:4) {
  x$SUM<-facetfill(j)
  x$SUM
}
x$SUM
x
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48613961

复制
相关文章

相似问题

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