R-plotly|甘特图(Gantt chart)- 一不小心年中了,立个flag

简介: R-plotly|甘特图(Gantt chart)- 一不小心年中了,立个flag

本文首发于“生信补给站”公众号  https://mp.weixin.qq.com/s/haHM2uuD1a-2nBGiKGSvSg


利用甘特图(Gantt chart)管理学习计划,通过条形来显示项目的进度、时间安排等相关情况。

一 数据准备


加载函数包,读入数据

library(plotly)
# 读取数据
df <- read.csv("GanttChart-July.csv", stringsAsFactors = F)
# 转为Date类型
df$Start <- as.Date(df$Start, format = "%m/%d/%Y")
head(df)


绘制甘特图


数据如上,只需任务内容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], "<br>",
                             "Duration: ", df$Duration[i], "days<br>",
                             "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信息

1. 去掉 gridlines
2. 显示task任务
3. 更改背景颜色
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

相关文章
|
4月前
|
前端开发 数据可视化 项目管理
Dhtmlx Gantt教程:创建交互式甘特图的完整指南
Dhtmlx Gantt教程:创建交互式甘特图的完整指南
|
4月前
Axure Axhub Charts 数据编辑、显示
Axure Axhub Charts 数据编辑、显示
68 0
|
5月前
|
JavaScript
vue + d3.js(v6) 绘制【树状图/思维导图】可折叠/展开,可点击跳转,可带标签
vue + d3.js(v6) 绘制【树状图/思维导图】可折叠/展开,可点击跳转,可带标签
692 1
|
7月前
|
数据采集 机器学习/深度学习 开发工具
画【Python折线图】的一百个学习报告(三、设置全局 Label 颜色)
画【Python折线图】的一百个学习报告(三、设置全局 Label 颜色)
69 0
165Echarts - 漏斗图(Funnel Chart)
165Echarts - 漏斗图(Funnel Chart)
96 0
|
数据可视化 Go 项目管理
R-plotly|交互式甘特图(Gantt chart)-项目管理/学习计划
R-plotly|交互式甘特图(Gantt chart)-项目管理/学习计划
211 0
|
数据可视化
Qt开发技术:Q3D图表开发笔记(二):Q3DBar三维柱状图介绍、Demo以及代码详解
qt提供了q3d进行三维开发,虽然这个框架没有得到大量运用也不是那么成功,性能上也有很大的欠缺,但是普通的点到为止的应用展示还是可以的。   其中就包括华丽绚烂的三维图表,数据量不大的时候是可以使用的。   上一篇介绍了基础的q3d散点图,本篇介绍基础的柱状图。
Qt开发技术:Q3D图表开发笔记(二):Q3DBar三维柱状图介绍、Demo以及代码详解
|
JavaScript
Chart.js-饼状图分析(参数分析+例图)
Chart.js-饼状图分析(参数分析+例图)
287 0
Chart.js-饼状图分析(参数分析+例图)
echarts两个折线图共用x轴且合并tooltip功能代码
echarts两个折线图共用x轴且合并tooltip功能代码
455 0
|
数据可视化 数据挖掘 API
羡慕 Excel 的高级选择与文本框颜色呈现?Pandas 也可以拥有!! ⛵
通过 Styler API 的设置,Pandas 也能像 Excel 那样进行『条件选择』和 『文本框颜色』设置,一眼获取最关键信息!本文讲解 Pandas 使用单色(或渐变色)高亮显示缺失值、最大值、最小值、范围值等【数据与代码亲测可运行】
945 1
羡慕 Excel 的高级选择与文本框颜色呈现?Pandas 也可以拥有!! ⛵

热门文章

最新文章