【问题标题】:r: Two plots in one window when using NbClust()r:使用 NbClust() 时在一个窗口中显示两个图
【发布时间】:2016-04-19 15:57:40
【问题描述】:

由于我已将“NbClust”包加载到我的 r 会话 library("NbClust") 中,绘图窗口(位于 RStudio 的右下角)正在为每个窗口绘制 两个 图(这反过来使有些地块很小)... 您知道如何关闭此功能并将其恢复为每个窗口绘制一个图吗?

【问题讨论】:

  • par(mfrow=c(1,1)) 能解决您的问题吗?
  • 我在NbClust 包中看不到任何绘图方法,但NbClust 代码中有几个地方设置了par(mfrow=c(1,2))(两个图排列在两列中)。重置为单个图(如我之前评论中的代码),应该照顾它。有关mfrow 和其他图形参数(用于基本图形)的更多信息,请参阅?par
  • @eipi10,谢谢,我必须在我的代码中的哪个位置准确插入par(mfrow=c(1,1))?我试图把它放在library("NbClust") 之后,但它没有改变任何东西......对不起,我对 r 比较陌生
  • library(NbClust) 之后立即运行它应该将它设置回每个窗口一个绘图。这就是我在机器上测试时发生的情况。
  • 一般来说,只要您想将单个窗口中显示的绘图数量从当前设置更改为新设置,就在制作一个或多个绘图之前运行par(mfrow=c(x,y))。要检查当前设置,请运行 par("mfrow")

标签: r plot


【解决方案1】:

感谢@eipi10,我终于找到了解决问题的方法:

我必须在一系列NbClust() 调用之后插入par(mfrow=c(1,1)),以便将所有后续绘图再次分别放在一个窗口中。所以,代码看起来像

library("NbClust")

n1 = NbClust(...)
n2 = NbClust(...)
n3 = NbClust(...)

par(mfrow=c(1,1))  

当我将par(mfrow=c(1,1)) 放在library("NbClust") 之后时,无论出于何种原因,它都不起作用...

【讨论】:

  • NbClust 可能会在您每次运行时重置mfrow。我将向包维护者提交错误报告,因为包函数应该在运行后将 mfrow 重置为之前的值。
  • 是的,这听起来很合理
猜你喜欢
  • 1970-01-01
  • 2020-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-25
  • 1970-01-01
相关资源
最近更新 更多