gpt4 book ai didi

r - 为什么我的图表没有显示在 RStudio 的 "Plots" Pane 中?

转载 作者:行者123 更新时间:2023-12-05 03:05:23 25 4
gpt4 key购买 nike

我已经编写了几个连接到服务器并收集一些数据并改变这些数据的函数。其中一个函数还可视化数据。

因为我总是需要运行所有六个函数——并且因为我在需要时编写它们——所以我决定将它们组合成一个更大的函数会更有效(约 400 行,可能下降到~350 在一些清洁之后很快)而不是必须一个接一个地独立运行六个独立的功能。

在合并函数之前,生成可视化的函数完美地显示在 RStudio 的 Plots 窗口中。

由于结合了这些功能,因此没有显示可视化效果。

我加了一行显示图表是否生成成功,一直都是;但是,我再也看不到输出了。

这是图表的代码:

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,因为并不总是需要图表。要生成图表,用户在调用函数时指定 TRUEchart = TRUE 并生成图表(使用 if/else );否则,简直就是浪费处理能力。

我认为可能发生的进程顺序会影响输出,所以我将绘图移到脚本底部,但它仍然没有显示在 Plots Pane 中,尽管显示了 “Chart printed.” 消息。

作为一个整体,函数执行得非常完美,所需的输出正是我想要的。

在执行阶段任何时候都没有错误,数据帧都符合预期,没有错误。

如果我将可视化功能拆分出来,它可以独立运行,没有任何问题。如果我将它放回函数中,它仍然会成功执行,但没有可视化效果。

这可能是什么原因造成的?

更新(2018 年 6 月 6 日):

有人建议用 print 包裹情节。这在绘图现在出现的意义上是有效的,尽管是在一个新窗口中 - 这不是我想要的,这是为了让绘图保留在 RStudio IDE 中。

最佳答案

我遇到了同样的问题。原来我有一些设备在默默地拍摄情节。

dev.list()

将给出一个开放的事物列表。我有 pdf 8 pdf 9

dev.off(8)
dev.off(9)

关闭那些设备

dev.list()

然后说 null device 1 然后我的图开始出现在 View Pane 中。

关于r - 为什么我的图表没有显示在 RStudio 的 "Plots" Pane 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51040405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com