我第一次和R一起工作,我遇到了一个a不能解决的问题。
我测量了学生的“工作时间”和“学习时间”。它们共同导致了学生的“工作量”。我想创建一个直方图来描述工作量,并区分工作时间和学习时间之间的颜色。
就像一个堆叠的柱状图,但作为直方图,没有任何分类变量。
我在互联网上搜索了很长一段时间,但我确实只找到了堆叠的柱状图、重叠的直方图或密度图。
你的帮助将会得到高度评价
编辑:我的数据看起来像
VP Work Study Workload
1 10 20 30
2 30 20 50
3 20 40 60
... ... ...因此,直方图的条形应该有一个30,50和60的高度,并为“工作”和“学习”按比例着色。
发布于 2020-01-22 02:04:22
根据您的编辑,我假设您希望为每个学生提供一个条形图,其中包含他们的总学时。像这样的东西?
我使用的是tidyverse包中的ggplot2和函数。
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

https://stackoverflow.com/questions/59845724
复制相似问题