En esta ocasión aprenderemos como graficar un Gantt Char en R usando el paquete ganttrify
library(remotes)
remotes::install_github("giocomai/ganttrify")
library(ganttrify)
Cargamos los datos los cuales deben estar de la siguiente manera
crono <- read_csv("cono.csv", col_types = cols(Final = col_date(format = "%Y-%m"), Inicio = col_date(format = "%Y-%m")))
colnames(crono) <- c("wp", "activity", "start_date", "end_date")
kable(crono)
Etapa 1 |
Actividad 1 |
2020-01-01 |
2020-02-01 |
Etapa 1 |
Actividad 2 |
2020-02-01 |
2020-03-01 |
Etapa 1 |
Actividad 3 |
2020-03-01 |
2020-06-01 |
Etapa 2 |
Actividad 2.1 |
2020-04-01 |
2020-05-01 |
Etapa 2 |
Actividad 2.2 |
2020-05-01 |
2020-07-01 |
Etapa 2 |
Actividad 2.3 |
2020-06-01 |
2020-07-01 |
Etapa 3 |
Actividad a |
2020-08-01 |
2020-10-01 |
Etapa 3 |
Actividad b |
2020-09-01 |
2020-11-01 |
Etapa 3 |
Actividad c |
2020-08-01 |
2020-12-01 |
Los nombres de las columnas son muy importantes para que la funcion lea la tabla.
Graficamos
ganttrify(crono,
by_date = T,
size_text_relative = 1,
mark_quarters = TRUE,
exact_date = T,
colour_palette = c("orange2","blue", "red"),
month_number = F)

Este este Link puede ver un ejemplo interactivo por el desarrollador del paquete Giorgio Comai
LS0tDQp0aXRsZTogIkNvbW8gaGFjZXIgdW4gR2FudHQgQ2hhciBwYXJhIGNyb25vZ3JhbWEgZGUgYWN0aXZpZGFkZXMgZW4gUiINCmF1dGhvcjogIkRhbmllbCBBbHZhcmFkbyINCmRhdGU6ICJgciBmb3JtYXQoU3lzLnRpbWUoKSwgJyVkLyVtLCAlWScpYCINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCg0KYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFRSVUUpDQpgYGANCg0KDQpFbiBlc3RhIG9jYXNpw7NuIGFwcmVuZGVyZW1vcyBjb21vIGdyYWZpY2FyIHVuIEdhbnR0IENoYXIgZW4gUiB1c2FuZG8gZWwgcGFxdWV0ZSAqKmdhbnR0cmlmeSoqICANCg0KYGxpYnJhcnkocmVtb3RlcylgICANCmByZW1vdGVzOjppbnN0YWxsX2dpdGh1YigiZ2lvY29tYWkvZ2FudHRyaWZ5IilgICANCmBsaWJyYXJ5KGdhbnR0cmlmeSlgDQoNCmBgYHtyLCBtZXNzYWdlPUZBTFNFLHdhcm5pbmc9RkFMU0UsIGluY2x1ZGU9RkFMU0V9DQpsaWJyYXJ5KHJlbW90ZXMpDQpyZW1vdGVzOjppbnN0YWxsX2dpdGh1YigiZ2lvY29tYWkvZ2FudHRyaWZ5IikNCmxpYnJhcnkoZ2FudHRyaWZ5KQ0KDQpgYGANCg0KQ2FyZ2Ftb3MgbG9zIGRhdG9zIGxvcyBjdWFsZXMgZGViZW4gZXN0YXIgZGUgbGEgc2lndWllbnRlIG1hbmVyYQ0KYGBge3J9DQpjcm9ubyA8LSByZWFkX2NzdigiY29uby5jc3YiLCBjb2xfdHlwZXMgPSBjb2xzKEZpbmFsID0gY29sX2RhdGUoZm9ybWF0ID0gIiVZLSVtIiksIEluaWNpbyA9IGNvbF9kYXRlKGZvcm1hdCA9ICIlWS0lbSIpKSkNCmNvbG5hbWVzKGNyb25vKSA8LSBjKCJ3cCIsICJhY3Rpdml0eSIsICJzdGFydF9kYXRlIiwgImVuZF9kYXRlIikNCmthYmxlKGNyb25vKQ0KYGBgDQoNCkxvcyBub21icmVzIGRlIGxhcyBjb2x1bW5hcyBzb24gbXV5IGltcG9ydGFudGVzIHBhcmEgcXVlIGxhIGZ1bmNpb24gbGVhIGxhIHRhYmxhLiAgDQoNCiMjIyBHcmFmaWNhbW9zDQoNCg0KYGBge3J9DQpnYW50dHJpZnkoY3Jvbm8sDQogICAgICAgICAgYnlfZGF0ZSA9IFQsDQogICAgICAgICAgc2l6ZV90ZXh0X3JlbGF0aXZlID0gMC45LCANCiAgICAgICAgICBtYXJrX3F1YXJ0ZXJzID0gVFJVRSwNCiAgICAgICAgICBleGFjdF9kYXRlID0gVCwNCiAgICAgICAgICBjb2xvdXJfcGFsZXR0ZSA9IGMoIm9yYW5nZTIiLCJibHVlIiwgInJlZCIpLA0KICAgICAgICAgIG1vbnRoX251bWJlciA9IEYpDQpgYGANCg0KDQoNCkVzdGUgZXN0ZSBbTGlua10oaHR0cHM6Ly9hcHBzLmV1cm9wZWFuZGF0YWpvdXJuYWxpc20uZXUvYXBwL2dhbnR0cmlmeSkgcHVlZGUgdmVyIHVuIGVqZW1wbG8gaW50ZXJhY3Rpdm8gcG9yIGVsIGRlc2Fycm9sbGFkb3IgZGVsIHBhcXVldGUgR2lvcmdpbyBDb21haQ==