গ্যান্ট চার্ট তৈরি করতে কেউ কি আর ব্যবহার করেছে ?
PS আমি নির্ভরতা তীর ছাড়া বাঁচতে পারি।
উত্তর:
আর-তে একটি গ্যান্ট চার্ট তৈরির জন্য কয়েকটি মার্জিত উপায় রয়েছে are
ক্যান্ডেলা ব্যবহার করা হচ্ছে
library(candela)
data <- list(
list(name='Do this', level=1, start=0, end=5),
list(name='This part 1', level=2, start=0, end=3),
list(name='This part 2', level=2, start=3, end=5),
list(name='Then that', level=1, start=5, end=15),
list(name='That part 1', level=2, start=5, end=10),
list(name='That part 2', level=2, start=10, end=15))
candela('GanttChart',
data=data, label='name',
start='start', end='end', level='level',
width=700, height=200)
ডায়াগ্রামের ব্যবহার
library(DiagrammeR)
mermaid("
gantt
dateFormat YYYY-MM-DD
title A Very Nice Gantt Diagram
section Basic Tasks
This is completed :done, first_1, 2014-01-06, 2014-01-08
This is active :active, first_2, 2014-01-09, 3d
Do this later : first_3, after first_2, 5d
Do this after that : first_4, after first_3, 5d
section Important Things
Completed, critical task :crit, done, import_1, 2014-01-06,24h
Also done, also critical :crit, done, import_2, after import_1, 2d
Doing this important task now :crit, active, import_3, after import_2, 3d
Next critical task :crit, import_4, after import_3, 5d
section The Extras
First extras :active, extras_1, after import_4, 3d
Second helping : extras_2, after extras_1, 20h
More of the extras : extras_3, after extras_1, 48h
")
এই উদাহরণটি এবং আরও অনেকগুলি DiagrammeR
গিটহাবটিতে সন্ধান করুন
যদি আপনার ডেটা কোনও এ সংরক্ষণ করা হয় তবে data.frame
আপনি স্ট্রিংটি mermaid()
যথাযথ ফর্ম্যাটে রূপান্তর করে তৈরি করতে পারেন ।
নিম্নোক্ত বিবেচনা কর:
df <- data.frame(task = c("task1", "task2", "task3"),
status = c("done", "active", "crit"),
pos = c("first_1", "first_2", "first_3"),
start = c("2014-01-06", "2014-01-09", "after first_2"),
end = c("2014-01-08", "3d", "5d"))
# task status pos start end
#1 task1 done first_1 2014-01-06 2014-01-08
#2 task2 active first_2 2014-01-09 3d
#3 task3 crit first_3 after first_2 5d
ব্যবহার করে dplyr
এবং tidyr
(বা আপনার পছন্দের কোনও ডেটা র্যাংলিং রিসোর্সগুলি):
library(tidyr)
library(dplyr)
mermaid(
paste0(
# mermaid "header", each component separated with "\n" (line break)
"gantt", "\n",
"dateFormat YYYY-MM-DD", "\n",
"title A Very Nice Gantt Diagram", "\n",
# unite the first two columns (task & status) and separate them with ":"
# then, unite the other columns and separate them with ","
# this will create the required mermaid "body"
paste(df %>%
unite(i, task, status, sep = ":") %>%
unite(j, i, pos, start, end, sep = ",") %>%
.$j,
collapse = "\n"
), "\n"
)
)
মন্তব্যে @ জর্জডোন্টাসের উল্লেখ অনুসারে, একটি সামান্য হ্যাক রয়েছে যা এক্স অক্ষের লেবেলগুলিকে 'ডাব্লু .01, ডব্লু .02' এর পরিবর্তে তারিখগুলিতে পরিবর্তন করতে দেয়।
ধরে নিলাম আপনি উপরের মারমেইড গ্রাফটি এতে সংরক্ষণ করেছেন m
, করুন:
m$x$config = list(ganttConfig = list(
axisFormatter = list(list(
"%b %d, %Y"
,htmlwidgets::JS(
'function(d){ return d.getDay() == 1 }'
)
))
))
যা দেয়:
টাইমভিস ব্যবহার করা
timevis
গিটহাব থেকে :
timevis
আপনাকে আর এ সমৃদ্ধ এবং সম্পূর্ণ ইন্টারেক্টিভ টাইমলাইন ভিজুয়ালাইজেশন তৈরি করতে দেয় Time টাইমলাইনগুলি চকচকে অ্যাপস এবং আর মার্কডাউন ডকুমেন্টগুলিতে অন্তর্ভুক্ত করা যেতে পারে, বা আর কনসোল এবং আরস্টুডিও ভিউয়ার থেকে দেখে নেওয়া যেতে পারে।
library(timevis)
data <- data.frame(
id = 1:4,
content = c("Item one" , "Item two" ,"Ranged item", "Item four"),
start = c("2016-01-10", "2016-01-11", "2016-01-20", "2016-02-14 15:00:00"),
end = c(NA , NA, "2016-02-04", NA)
)
timevis(data)
যা দেয়:
চক্রান্ত করে ব্যবহার করা
আমি অন্য পোস্ট ব্যবহার করে এই পোস্টে হোঁচট খেয়েছি plotly
। এখানে একটি উদাহরণ:
library(plotly)
df <- read.csv("https://cdn.rawgit.com/plotly/datasets/master/GanttChart-updated.csv",
stringsAsFactors = F)
df$Start <- as.Date(df$Start, format = "%m/%d/%Y")
client <- "Sample Client"
cols <- RColorBrewer::brewer.pal(length(unique(df$Resource)), name = "Set3")
df$color <- factor(df$Resource, labels = cols)
p <- plot_ly()
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),
showlegend = F,
hoverinfo = "text",
text = paste("Task: ", df$Task[i], "<br>",
"Duration: ", df$Duration[i], "days<br>",
"Resource: ", df$Resource[i]),
evaluate = T
)
}
p
যা দেয়:
তারপরে আপনি অতিরিক্ত তথ্য এবং টীকাগুলি যুক্ত করতে পারেন, ফন্ট এবং রঙগুলি কাস্টমাইজ করতে পারেন ইত্যাদি (বিশদের জন্য ব্লগ পোস্ট দেখুন)
timevis
মধ্যে R
সৌন্দর্য ঠান্ডা এবং সরল। :-)
একটি সাধারণ ggplot2
গ্যান্ট চার্ট।
প্রথমত, আমরা কিছু ডেটা তৈরি করি।
library(reshape2)
library(ggplot2)
tasks <- c("Review literature", "Mung data", "Stats analysis", "Write Report")
dfr <- data.frame(
name = factor(tasks, levels = tasks),
start.date = as.Date(c("2010-08-24", "2010-10-01", "2010-11-01", "2011-02-14")),
end.date = as.Date(c("2010-10-31", "2010-12-14", "2011-02-28", "2011-04-30")),
is.critical = c(TRUE, FALSE, FALSE, TRUE)
)
mdfr <- melt(dfr, measure.vars = c("start.date", "end.date"))
এখন প্লট আঁকুন।
ggplot(mdfr, aes(value, name, colour = is.critical)) +
geom_line(size = 6) +
xlab(NULL) +
ylab(NULL)
প্যাকেজটিprojmanr
ব্যবহার করার কথা বিবেচনা করুন (23 আগস্ট 2017-এ CRAN এ প্রকাশিত সংস্করণ 0.1.0)।
library(projmanr)
# Use raw example data
(data <- taskdata1)
taskdata1
:
id name duration pred
1 1 T1 3
2 2 T2 4 1
3 3 T3 2 1
4 4 T4 5 2
5 5 T5 1 3
6 6 T6 2 3
7 7 T7 4 4,5
8 8 T8 3 6,7
এখন গ্যান্ট প্রস্তুত করা শুরু করুন:
# Create a gantt chart using the raw data
gantt(data)
# Create a second gantt chart using the processed data
res <- critical_path(data)
gantt(res)
# Use raw example data
data <- taskdata1
# Create a network diagram chart using the raw data
network_diagram(data)
# Create a second network diagram using the processed data
res <- critical_path(data)
network_diagram(res)
প্যাকেজটি plan
বোরডাউন চার্ট এবং গ্যান্ট ডায়াগ্রাম তৈরিতে সহায়তা করে এবং এতে একটি plot.gantt
ফাংশন রয়েছে । দেখুন এই আর গ্রাফিকাল ম্যানুয়াল পৃষ্ঠা
প্লটলি এর আর এপিআই গ্যান্ট চার্টস প্লটলি ব্যবহার করে কীভাবে আর এ তৈরি করতে হয় তা দেখুন ।
আপনি গুগলিস প্যাকেজ দিয়ে এটি করতে পারেন :
datTL <- data.frame(Position=c(rep("President", 3), rep("Vice", 3)),
Name=c("Washington", "Adams", "Jefferson",
"Adams", "Jefferson", "Burr"),
start=as.Date(x=rep(c("1789-03-29", "1797-02-03",
"1801-02-03"),2)),
end=as.Date(x=rep(c("1797-02-03", "1801-02-03",
"1809-02-03"),2)))
Timeline <- gvisTimeline(data=datTL,
rowlabel="Name",
barlabel="Position",
start="start",
end="end",
options=list(timeline="{groupByRowLabel:false}",
backgroundColor='#ffd',
height=350,
colors="['#cbb69d', '#603913', '#c69c6e']"))
plot(Timeline)
উত্স: https://cran.r-project.org/web/packages/googleVis/vignettes/googleVis_exferences.html
আমি রিচি থেকে উপরের উদাহরণটি ব্যবহার করেছি এবং সংশোধন করেছি, মোহন এর মতো কাজ করেছি। তার মডেল কীভাবে ম্যানুয়ালি সরবরাহ করা পাঠ্য আইটেমের চেয়ে সিএসভি ডেটা ইনজেস্টিংয়ে অনুবাদ করতে পারে তা দেখানোর জন্য সংশোধিত সংস্করণ।
দ্রষ্টব্য : রিচির উত্তরে ইঙ্গিতটি অনুপস্থিত ছিল যে উপরের / নীচের কোডটি কাজ করার জন্য 2 টি প্যাকেজ ( পুনঃ আকার ও ggplot2 ) প্রয়োজন।
rawschedule <- read.csv("sample.csv", header = TRUE) #modify the "sample.csv" to be the name of your file target. - Make sure you have headers of: Task, Start, Finish, Critical OR modify the below to reflect column count.
tasks <- c(t(rawschedule["Task"]))
dfr <- data.frame(
name = factor(tasks, levels = tasks),
start.date = c(rawschedule["Start"]),
end.date = c(rawschedule["Finish"]),
is.critical = c(rawschedule["Critical"]))
mdfr <- melt(dfr, measure.vars = c("Start", "Finish"))
#generates the plot
ggplot(mdfr, aes(as.Date(value, "%m/%d/%Y"), name, colour = Critical)) +
geom_line(size = 6) +
xlab("Duration") + ylab("Tasks") +
theme_bw()
এখানে একটি পোস্ট যা আমি গ্যান্ট চার্টের মতো কিছু উত্পন্ন করতে ggplot ব্যবহার করে লিখেছিলাম। খুব পরিশীলিত নয়, তবে আপনাকে কিছু ধারণা দিতে পারে।
আমার জন্য, জিভিসটাইমলাইন এটি করার সেরা সরঞ্জাম ছিল তবে এর প্রয়োজনীয় অনলাইন সংযোগটি আমার পক্ষে কার্যকর ছিল না। এইভাবে আমি একটি প্যাকেজ তৈরি করেছি vistime
যা ব্যবহার করে plotly
(@ স্টিভেন বিউপ্রির উত্তরের সমান), যাতে আপনি ইত্যাদি জুম করতে পারেন .:
https://github.com/shosaco/vistime
vistime
: প্লটলি.জেএস ব্যবহার করে ইন্টারেক্টিভ টাইমলাইন বা গ্যান্ট চার্ট তৈরি করুন। চার্টগুলি চকচকে অ্যাপ্লিকেশনগুলিতে অন্তর্ভুক্ত করা যেতে পারে এবং প্লট_বিল্ড () এর মাধ্যমে ম্যানিপুলেট করা যেতে পারে।
install.packages("vistime")
library("vistime")
dat <- data.frame(Position=c(rep("President", 3), rep("Vice", 3)),
Name = c("Washington", "Adams", "Jefferson", "Adams", "Jefferson", "Burr"),
start = rep(c("1789-03-29", "1797-02-03", "1801-02-03"), 2),
end = rep(c("1797-02-03", "1801-02-03", "1809-02-03"), 2),
color = c('#cbb69d', '#603913', '#c69c6e'),
fontcolor = rep("white", 3))
vistime(dat, events="Position", groups="Name", title="Presidents of the USA")
খুব পুরানো প্রশ্ন, আমি জানি, তবে সম্ভবত এখানে রেখে যাওয়া উপযুক্ত যে - আমি এই প্রশ্নের যে উত্তর পেয়েছি তা নিয়ে অসন্তুষ্ট - কয়েক মাস আগে আমি জিপিপ্লাট 2 -ভিত্তিক গ্যান্ট চার্ট তৈরির জন্য একটি বেসিক প্যাকেজ তৈরি করেছি: গ্যান্ট্রিফাই (প্যাকেজের রেডমে আরও বিশদ) ।
লাইব্রেরি প্লটপ্রজ নেট নেটওয়ার্কগুলি প্রকল্প পরিচালনার জন্য দরকারী নেটওয়ার্কিং সরঞ্জাম সরবরাহ করে।
library(PlotPrjNetworks)
project1=data.frame(
task=c("Market Research","Concept Development","Viability Test",
"Preliminary Design","Process Design","Prototyping","Market Testing","Final Design",
"Launching"),
start=c("2015-07-05","2015-07-05","2015-08-05","2015-10-05","2015-10-05","2016-02-18",
"2016-03-18","2016-05-18","2016-07-18"),
end=c("2015-08-05","2015-08-05","2015-10-05","2016-01-05","2016-02-18","2016-03-18",
"2016-05-18","2016-07-18","2016-09-18"))
project2=data.frame(
from=c(1,2,3,4,5,6,7,8),
to=c(2,3,4,5,6,7,8,9),
type=c("SS","FS","FS","SS","FS","FS","FS","FS"),
delay=c(7,7,7,8,10,10,10,10))
GanttChart(project1,project2)
আমি প্রতিটি কাজের জন্য বেশ কয়েকটি বার দিয়ে জিপিপ্লট-উত্তরটি উন্নত করতে চাই।
প্রথমে কিছু ডেটা উত্পন্ন করুন (ডিএফআরপি হ'ল অন্য উত্তরের ডেটা ফ্রেম, ডিফআরআর হ'ল কিছু অন্যান্য ডেটা ফ্রেম যা উপলব্ধির তারিখ এবং এমডিএফআর হ'ল নিম্নলিখিত জিজিপ্লট () - বিবৃতিতে একত্রীকরণ ফিটিং):
library(reshape2)
tasks <- c("Review literature", "Mung data", "Stats analysis", "Write Report")
dfrP <- data.frame(
name = factor(tasks, levels = tasks),
start.date = as.Date(c("2010-08-24", "2010-10-01", "2010-11-01", "2011-02-14")),
end.date = as.Date(c("2010-10-31", "2010-12-14", "2011-02-28", "2011-04-30")),
is.critical = c(TRUE, FALSE, FALSE, TRUE)
)
dfrR <- data.frame(
name = factor(tasks, levels = tasks),
start.date = as.Date(c("2010-08-22", "2010-10-10", "2010-11-01", NA)),
end.date = as.Date(c("2010-11-03", "2010-12-22", "2011-02-24", NA)),
is.critical = c(TRUE, FALSE, FALSE,TRUE)
)
mdfr <- merge(data.frame(type="Plan", melt(dfrP, measure.vars = c("start.date", "end.date"))),
data.frame(type="Real", melt(dfrR, measure.vars = c("start.date", "end.date"))), all=T)
এখন টাস্ক নামের জন্য ফেসবুক ব্যবহার করে এই ডেটা প্লট করুন:
library(ggplot2)
ggplot(mdfr, aes(x=value, y=type, color=is.critical))+
geom_line(size=6)+
facet_grid(name ~ .) +
scale_y_discrete(limits=c("Real", "Plan")) +
xlab(NULL) + ylab(NULL)
আইসক্রিটিক্যাল-তথ্য ব্যতীত আপনি প্ল্যান / রিয়েলকে রঙ হিসাবে ব্যবহার করতে পারেন (যা আমি পছন্দ করব), তবে আমি আরও উত্তরের তুলনামূলক করতে অন্য উত্তরের ডেটা ফ্রেম ব্যবহার করতে চেয়েছিলাম।
জিগপ্লাট-এ জিওম_সেগমেন্টটি দুর্দান্ত। পূর্ববর্তী সমাধানগুলি থেকে ডেটা ব্যবহার করুন তবে গলে যাওয়ার দরকার নেই।
library(ggplot2)
tasks <- c("Review literature", "Mung data", "Stats analysis", "Write Report")
dfr <- data.frame(
name = factor(tasks, levels = tasks),
start.date = as.Date(c("2010-08-24", "2010-10-01", "2010-11-01", "2011-02-14")),
end.date = as.Date(c("2010-10-31", "2010-12-14", "2011-02-28", "2011-04-30")),
is.critical = c(TRUE, FALSE, FALSE, TRUE)
)
ggplot(dfr, aes(x =start.date, xend= end.date, y=name, yend = name, color=is.critical)) +
geom_segment(size = 6) +
xlab(NULL) + ylab(NULL)
আপনি এই পোস্টে একবার দেখে নিতে পারেন। এটি আর এবং জিজিপ্লট ব্যবহার করে।
https://dW-businessinte Fightnce.blogspot.nl/2016/05/ কি-if-for- প্রকল্প- পরিচালন html