甘特圖(Gantt chart),又常被稱為橫道圖或者條狀圖,是現代企業項目管理領域運用最為廣泛的一種圖示。就是通過條形來顯示項目的進度、時間安排等相關情況的。
項目管理外,也可以用來管理學習計劃。繪制甘特圖的工具有很多,本文介紹使用R-plotly包繪制交互式的甘特圖,保存html鏈接后,即可隨時查看。
數據準備
加載函數包,讀入數據
library(plotly)# Read in datadf read.csv("GanttChart.csv", stringsAsFactors = F)# Convert to datesdf$Start as.Date(df$Start, format = "%m/%d/%Y")head(df,3)
繪制甘特圖
數據如上所示,只需任務或者項目得瘋
內容Task,開始時間Start,持續的時間數據即可繪制甘特圖。
# 根據Resource 設置甘特圖的顏色cols RColorBrewer::brewer.pal(length(unique(df$Resource)), name = "Set3")df$color factor(df$Resource, labels = cols)# 初始一個空對象p plot_ly()# 每個task一個line plot,起始時間和任務持續時長for(i in 1:(nrow(df) - 1)){ ?p add_trace(p, ? ? ? ? ? ? ? ? x = c(df$Start[i], df$Start[i] + df$Duration[i]), ?#起試和終止 ? ? ? ? ? ? ? ? y = c(i, i), ?# ? ? ? ? ? ? ? ? mode = "lines", ? ? ? ? ? ? ? ? line = list(color = df$color[i], width = 20), #設置line plot的顏色和線寬 ? ? ? ? ? ? ? ? showlegend = F, ? ? ? ? ? ? ? ? hoverinfo = "text", #懸浮信息為text信息 ? ? ? ? ? ? ? ? #設置text顯示內容 ? ? ? ? ? ? ? ? text = paste("Task: ", df$Task[i], "
", ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"Duration: ", df$Duration[i], "days
", ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"Resource: ", df$Resource[i]), ? ? ? ? ? ? ? ? evaluate = T , ? ? ? ? ? ? ? ? xaxis = list(showgrid = F, tickfont = list(color = "#e6e6e6")), yaxis = list(showgrid = F, tickfont = list(color = "#e6e6e6"), ? ? ? ? ? ? ? ? tickmode = "array", tickvals = 1:nrow(df), ticktext = unique(df$Task), ? ? ? ? ? ? ? ? domain = c(0, 0.9)), ? ? ? ? ? ?plot_bgcolor = "#333333", ?# 設置顏色 ? ? ? ? ? ?paper_bgcolor = "#333333" )}
更改Layout信息
去掉 gridlines
顯示task任務
p layout(p, ? ? ? ? ? ?xaxis = list(showgrid = F, tickfont = list(color = "#e6e6e6")), ? ? ? ? ? ?yaxis = list(showgrid = F, tickfont = list(color = "#e6e6e6"), ? ? ? ? ? ? ? ? ? tickmode = "array", tickvals = 1:nrow(df), ticktext = unique(df$Task), ? ? ? ? ? ? ? ? ? domain = c(0, 0.9)), ? ? ? ? ? ?plot_bgcolor = "#333333", ?# Chart area color ? ? ? ? ? ?paper_bgcolor = "#333333") # Axis area color
注:因未掌握交互式插入html方法,因此動態交互圖自行運行一下即可。
◆?◆?◆ ?◆?◆
R|生存分析(1):生存分析介紹以及繪制KM曲線
Nomogram(諾莫圖) | Logistic、Cox生存分析結果可視化
Forest plot(森林圖) | Cox生存分析可視化
maftools|TCGA腫瘤突變數據的匯總,分析和可視化
maftools | 從頭開始繪制發表級oncoplot(瀑布圖)
ggalluvial|炫酷桑基圖(Sankey),你也可以秀
ggplot2|詳解八大基本繪圖要素
ggplot2|ggpubr進行“paper”組圖合并
pheatmap|暴雨暫歇,“熱圖”來襲!!!
ggplot2-plotly|讓你的火山圖“活”過來
ggplot2| 繪制KEGG氣泡圖
ggplot2|繪制GO富集柱形圖
繪圖系列|R-corrplot相關圖
繪圖系列|R-VennDiagram包繪制韋恩圖
R|clusterProfiler-富集分析
【覺得不錯,右下角點個“在看”,期待您的轉發,謝謝!】