首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从R中的两个数值变量创建堆叠直方图?

如何从R中的两个数值变量创建堆叠直方图?
EN

Stack Overflow用户
提问于 2020-01-22 00:49:09
回答 1查看 135关注 0票数 0

我第一次和R一起工作,我遇到了一个a不能解决的问题。

我测量了学生的“工作时间”和“学习时间”。它们共同导致了学生的“工作量”。我想创建一个直方图来描述工作量,并区分工作时间和学习时间之间的颜色。

就像一个堆叠的柱状图,但作为直方图,没有任何分类变量。

我在互联网上搜索了很长一段时间,但我确实只找到了堆叠的柱状图、重叠的直方图或密度图。

你的帮助将会得到高度评价

编辑:我的数据看起来像

代码语言:javascript
复制
    VP     Work   Study     Workload
     1     10     20        30
     2     30     20        50
     3     20     40        60
     ...   ...    ...

因此,直方图的条形应该有一个30,50和60的高度,并为“工作”和“学习”按比例着色。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-22 02:04:22

根据您的编辑,我假设您希望为每个学生提供一个条形图,其中包含他们的总学时。像这样的东西?

我使用的是tidyverse包中的ggplot2和函数。

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

df <- tibble(VP = 1:3,
             Work = c(10, 30, 20),
             Study = c(20, 20, 40),
             Workload = c(30, 50, 60)) # Or simply `Workload = Work + Study`

df %>% 
  select(-Workload) %>% 
  tidyr::gather(-VP, key = "type", value = "time") %>% 
  ggplot(aes(x = factor(VP), y = time, fill = type)) +
    geom_col(position = "stack") # `position` argument defines the stacked bars

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

https://stackoverflow.com/questions/59845724

复制
相关文章

相似问题

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