Günlük olarak bir gantt şeması oluşturmak zorundayım. Benim fikrim R's DiagrammeR paketinde bulunan denizkızı api kullanmaktır.DiagrammeR ile deniz kızı (Gantt) 'da 4'ten fazla bölüm rengi nasıl alabilirim?
Verilerim her zaman aynı yapıya sahip olacak ve bu nedenle, yeniden üretilebilir örnekte yer alan oldukça ilkel ayrıştırıcıyı oluşturdum.
ben yüz sorun 4 bölümden sonra şekillendirme sıfırdan yeniden başlar olmasıdır:
rect.section.section0
rect.section.section1
rect.section.section2
rect.section.section3
rect.section.section0
ben .css gelen rect.section.sectionx
rengini değiştirebilir ama yenilerini eklemek mümkün değil.
Bölümün rengini/stilini değiştirmek/kişiselleştirmek için bir yol var mı? Sen hiç .js dosyasını değiştirmek gerekmez
library(DiagrammeR)
library(htmltools)
fromdftogantt<-function(df,Title="Proba",filename="proba.html"){
txt<-paste("gantt","dateFormat YYYY-MM-DD",paste("title",Title),"",sep="\n")
for(i in unique(df$section)){
txt<-paste(txt,paste("section",i),sep="\n")
for(j in which(df$section==i)){
txt<-paste(txt,paste0(df$name[j],":",df$status[j],",",
df$fecini[j],",",
df$fecfin[j]),sep="\n")
}
txt<-paste0(txt,"\n")
}
m<-mermaid(txt)
m$x$config = list(ganttConfig = list(
axisFormatter = list(list(
"%m-%Y"
,htmlwidgets::JS(
'function(d){ return d.getDate() == 1 }'
)
))
))
save_html(as.tags(m),file=filename)
}
df<-data.frame(section=letters[1:6],name=paste("Name",1:6),
status=rep("active",6),
fecini=as.Date(c("2015-02-03","2015-03-05","2015-04-07",
"2015-02-03","2015-03-05","2015-04-07")),
fecfin=as.Date(c("2015-06-01","2015-04-30","2015-12-31",
"2015-06-01","2015-04-30","2015-12-31")),
stringsAsFactors = FALSE)
fromdftogantt(df,Title="Proba",filename="proba.html")
Biraz kirli bir numara ama kütüphanenin 'DiagrammeR.js' dosyasındaki' numberSectionStyles 'öğesini değiştirebilirsiniz (bu klasörde bulunur: /Library/Frameworks/R.framework/Versions/3.2/Resources/library/ Benim için DiagrammeR/htmlwidgets). Bu bölümlerin sayısını artıracaktır. Ayrıca bunlar için css eklemeniz gerekecek. Bu değişikliğin sadece sizin diyagramınız için olmasını istiyorsanız, aynı dosyayı html dosyanızı koyduğunuz dizinde 'lib' klasöründe değiştirebilirsiniz. – NicE
En çok R yolu değil, kesinlikle hile yapar. Paketleri güncellerken dikkatli olmalıyım, ancak özel sorunumu çözeceğim. –