Я написал несколько функций, которые подключаются к серверу, собирают некоторые данные и видоизменяют эти данные. Одна из функций также визуализирует данные.
Поскольку мне всегда нужно запускать все шесть функций - и поскольку я писал их по мере необходимости, я решил, что будет более эффективно объединить их в одну большую функцию (~ 400 строк, возможно, до ~ 350 вскоре после некоторой чистки) вместо того, чтобы запускать шесть отдельных функций независимо друг от друга.
Перед объединением функций, та, которая производила визуализацию, отлично работала в том, что она появилась в окне Plots
в RStudio.
После объединения функций визуализация не отображается.
Я добавил строку, чтобы показать, был ли график успешно сгенерирован, и это всегда так; однако я больше не вижу вывод.
Вот код для диаграммы:
if(chart == TRUE){
ggplot(plugin_displays[plugin_displays$date <= end_date, ], aes(fill = type)) +
geom_col(aes(x = time, y = count),
colour = "black",
position = "stack") +
geom_text(aes(x = time, y = total, label = total),
hjust = -0.15,
vjust = 0.15,
size = 3,
colour = "black",
angle = 90) +
scale_y_continuous(limits = c(0, max(plugin_displays$total) * 1.02)) +
labs(title = paste0("Plugin Loads & Unloads ", start_date, " - ", end_date),
x = "Time",
y = "Count") +
facet_grid(.~date) +
scale_fill_manual(values=c("forestgreen", "red")) +
theme(plot.title = element_text(size = 25,
face = "bold",
colour = "black"),
panel.grid.minor.x = element_blank(),
panel.grid.major.x = element_blank(),
axis.text = element_text(colour = "black",
angle = 90))
print("Chart printed.")
} else {
print("Chart not shown by default. Set chart = TRUE to display chart")
}
По умолчанию chart
установлен на FALSE
, так как график не всегда нужен. Чтобы сгенерировать диаграмму, пользователь указывает при вызове функции TRUE
или chart = TRUE
и генерирует график (используя if/else
); в противном случае это просто трата вычислительной мощности.
Я подумал, что, возможно, порядок происходящих процессов повлияет на вывод, поэтому я переместил график вниз в сценарий, и он все еще не отображается на панели Plots
, несмотря на "Chart printed."
показ сообщения.
Функция в целом выполняется отлично, и желаемый результат - именно то, что я хочу.
В любой момент на этапе выполнения ошибок нет, и все кадры данных, как и ожидалось, без ошибок.
Если я разделю функцию визуализации, она будет работать независимо, без проблем. Если я верну его обратно в функцию, он все равно будет успешно выполнен, но визуализация отсутствует.
Что может быть причиной этого?
ОБНОВЛЕНИЕ (6 ИЮНЯ 2018):
Кто-то предложил обернуть сюжет в print
. Это сработало в том смысле, что график теперь появляется, хотя и в новом окне - это не то, чего я хочу, а то, чтобы график оставался в среде IDtu RStudio.