项目日程安排中的条形图

时间:2017-02-14 02:05:55

标签: r scheduled-tasks bar-chart

我一直在尝试绘制项目计划的条形图(如甘特图),其中不同任务的时间和成本不同。我想在R中编码,给出对应于时间的条形图。它还必须反映每项任务的不同成本(比如在将任务分组后给出不同的颜色,如红色为0-0.2m $,绿色为0.2-0.4m $,......)。

下面附带的数据集包含" Link"作为任务和列作为不同的时间段。 0是没有时间和成本的,而任何正值是与该时间段的任务相关的成本。 (例如,链接1的成本为0.34m $,它只需要一个时间段,即第13个)

到目前为止,我已经写下以下代码将矩阵形式转换为长格式,以条形图函数读取数据。我无法从这一点前进,所以任何帮助都会受到赞赏!

我的代码:

library(readr)
library(reshape2)
data_mat<-read_csv("staging.csv")

#reshape from wide to long
data_ijv<- melt(data_mat, id.vars = "Link", variable.name = "Time_period", 
                value.name = "cost")

#order TAZ column
staging<-data_ijv[order(data_ijv$Link),]

barplot(staging$Link[staging$cost])--(How to program here?)

dput(data_mat)

structure(list(Link = 1:40, `1` = c(0, 0, 0, 0.36, 0.14, 0, 0, 
0.64, 0.58, 0.24, 0.56, 0.2, 0, 0, 0, 0.536, 0.2, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0.546666667, 0, 0.5, 0, 0.54, 0, 0, 0, 0.36, 0, 
0.38, 0.613333333, 0.58, 0), `2` = c(0, 0, 0, 0, 0, 0, 0, 0, 
0.58, 0, 0.56, 0, 0, 0, 0, 0.536, 0, 0.6, 0, 0, 0, 0, 0, 0, 0, 
0, 0.546666667, 0.655, 0.5, 0, 0.54, 0.64, 0, 0, 0.36, 0, 0.38, 
0.613333333, 0.58, 0), `3` = c(0, 0, 0.34, 0, 0, 0, 0, 0, 0.58, 
0, 0.56, 0, 0, 0, 0, 0.536, 0, 0.6, 0, 0, 0.606666667, 0.643076923, 
0, 0, 0.62, 0, 0.546666667, 0.655, 0, 0, 0, 0.64, 0, 0, 0, 0, 
0, 0.613333333, 0, 0), `4` = c(0, 0, 0, 0, 0, 0, 0.57, 0, 0.58, 
0, 0.56, 0, 0, 0, 0.582857143, 0.536, 0, 0.6, 0, 0.633333333, 
0.606666667, 0.643076923, 0, 0, 0.62, 0, 0, 0.655, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0), `5` = c(0, 0, 0, 0, 0, 0, 0.57, 0, 0.58, 
0, 0, 0, 0, 0, 0.582857143, 0.536, 0, 0, 0, 0.633333333, 0.606666667, 
0.643076923, 0, 0, 0.62, 0, 0, 0.655, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0.647272727), `6` = c(0, 0.665, 0, 0, 0, 0, 0.57, 0, 
0.58, 0, 0, 0, 0, 0, 0.582857143, 0, 0, 0, 0, 0.633333333, 0.606666667, 
0.643076923, 0, 0, 0.62, 0, 0, 0.655, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0.647272727), `7` = c(0, 0.665, 0, 0, 0, 0, 0.57, 0, 
0.58, 0, 0, 0, 0, 0, 0.582857143, 0, 0, 0, 0, 0.633333333, 0.606666667, 
0.643076923, 0, 0, 0.62, 0.62, 0, 0.655, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0.647272727), `8` = c(0, 0.665, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0.582857143, 0, 0, 0, 0, 0.633333333, 0.606666667, 
0.643076923, 0.58, 0, 0.62, 0.62, 0, 0.655, 0, 0, 0, 0, 0, 0.62, 
0, 0, 0, 0, 0, 0.647272727), `9` = c(0, 0.665, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0.56, 0, 0.582857143, 0, 0, 0, 0, 0.633333333, 
0, 0.643076923, 0.58, 0, 0.62, 0.62, 0, 0.655, 0, 0, 0, 0, 0, 
0.62, 0, 0, 0, 0, 0, 0.647272727), `10` = c(0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0.582857143, 0, 0, 0, 0, 0.633333333, 
0, 0.643076923, 0, 0.651428571, 0.62, 0.62, 0, 0, 0, 0.44, 0, 
0, 0.611428571, 0.62, 0, 0, 0, 0, 0, 0.647272727), `11` = c(0, 
0, 0, 0, 0, 0.58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.633333333, 
0, 0.643076923, 0, 0.651428571, 0, 0.62, 0, 0, 0, 0, 0, 0, 0.611428571, 
0.62, 0, 0.65, 0, 0, 0, 0.647272727), `12` = c(0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.633333333, 0, 0.643076923, 
0, 0.651428571, 0, 0.62, 0, 0, 0, 0, 0, 0, 0.611428571, 0.62, 
0, 0.65, 0, 0, 0, 0.647272727), `13` = c(0.34, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.606666667, 0.633333333, 
0, 0.643076923, 0, 0.651428571, 0, 0.62, 0, 0, 0, 0, 0, 0, 0.611428571, 
0.62, 0, 0.65, 0, 0, 0, 0.647272727), `14` = c(0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.606666667, 0.633333333, 
0, 0.643076923, 0, 0.651428571, 0, 0.62, 0, 0, 0, 0, 0, 0, 0.611428571, 
0.62, 0, 0.65, 0, 0, 0, 0.647272727), `15` = c(0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.606666667, 0.633333333, 
0, 0.643076923, 0, 0.651428571, 0, 0, 0, 0, 0, 0, 0, 0, 0.611428571, 
0.62, 0, 0.65, 0, 0, 0, 0.647272727), `16` = c(0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.651428571, 
0, 0, 0, 0, 0, 0, 0, 0, 0.611428571, 0, 0, 0.65, 0, 0, 0, 0.647272727
), `17` = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.65, 0, 
0, 0, 0.647272727), `18` = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0.65, 0, 0, 0, 0.647272727), `19` = c(0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0.62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.647272727), `20` = c(0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.647272727
), `21` = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0.647272727), `22` = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0.647272727), `23` = c(0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.647272727), `24` = c(0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.647272727), 
    `25` = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0.647272727), `26` = c(0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.647272727), `27` = c(0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), `28` = c(0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L), `29` = c(0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L), `30` = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L)), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, 
-40L), .Names = c("Link", "1", "2", "3", "4", "5", "6", "7", 
"8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", 
"19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", 
"30"))

0 个答案:

没有答案