Здесь у меня есть 2 похожих фрейма данных, но график вывода отличается от highcharter.
Типы переменных аналогичны ... это случайное действие?
Возможно ли заставить highcharter дать график, похожий на второй (df2)?
Спасибо за помощь
EDITt 1: Я попытался преобразовать даты года в целые числа (и символы), но поведение худшее ..
РЕДАКТИРОВАТЬ 2: Я нашел решение, но думаю, что это ошибка ...
Данные и скрипт:
library(data.table)
library(highcharter)
df1 = structure(list(
stat_motif = c("autre", "controle_cadastre", "doc_apres_travaux",
"doc_apres_travaux", "doc_avant_travaux", "inconnu", "inconnu"),
nb_stat_annee = c(1L, 10L, 4L, 1L, 1L, 601L, 573L),
annee_modif_stat = structure(c(18262, 18262, 18262, 17897, 18262, 18262, 17897), class = "Date"),
col_motif = c("#87CEEB", "#7CFC00", "#FAA43A", "#FAA43A", "#FF0000", "#C0C0C0", "#C0C0C0")),
class = "data.frame", row.names = c(NA, -7L), .Names = c("stat_motif", "nb_stat_annee", "annee_modif_stat", "col_motif"))
df2 = structure(list(
stat = c("abandonne", "admissible", "admissible",
"admissible", "finalise_pro", "refuse", "refuse"),
nb_stat = c(3L, 122L, 1L, 5L, 1L, 7L, 1L),
annee_enreg_stat = structure(c(17532, 17897, 17532, 18262, 17897, 17897, 17532), class = "Date"),
col = c("#FAA43A", "#7CFC00", "#7CFC00", "#7CFC00", "#264D00", "#FF0000", "#FF0000")), row.names = c(NA, -7L), class = "data.frame", .Names = c("stat", "nb_stat", "annee_enreg_stat", "col"))
setDT(df1)
setDT(df2)
# X-axis problem with this code
df1 = unique(df1[order(stat_motif)])
# EDIT 2 with 'solution'
# df1 = unique(df1[order(stat_motif, annee_modif_stat)])
# Or
# df1 = df1[stat_motif != "inconnu"]
col_vec = unique(df1[, col_motif])
hchart(
as.data.frame(df1),
"column",
hcaes(x = annee_modif_stat, y = nb_stat_annee, group = stat_motif)
) %>%
hc_plotOptions(column = list(stacking = "normal"), type = "datetime") %>%
hc_xAxis(
title = list(text = 'Date')
) %>%
hc_yAxis(
title = list(text = "Nb")
) %>%
hc_add_theme(hc_theme_gridlight()) %>%
hc_colors(colors = col_vec)
df2 = unique(df2[order(stat), list(stat, nb_stat, annee_enreg_stat, col)])
col_vec = unique(df2[, col])
hchart(
as.data.frame(df2),
"column",
hcaes(x = annee_enreg_stat, y = nb_stat, group = stat)
) %>%
hc_plotOptions(column = list(stacking = "normal"), type = "datetime") %>%
hc_xAxis(
title = list(text = 'Date')
) %>%
hc_yAxis(
title = list(text = "Nb")
) %>%
hc_add_theme(hc_theme_gridlight()) %>%
hc_colors(colors = col_vec)