mvbutils R-package的foodweb绘图中的控制绘图布局

mvbutils R-package的foodweb绘图中的控制绘图布局,r,tree,R,Tree,我想想象一下我自己的R包中的函数是如何相互依赖的。为此,我使用了mvbutils包中的foodweb()函数 我可以毫无问题地获得正确的函数依赖项,但是绘图看起来有点混乱,线条相互交叉,函数名称没有垂直或水平对齐 是否有一种控制绘图布局的方法,类似于在igraph软件包中的工作方式 例子 dirPath由于有许多数据、连接等,因此为了适应屏幕,绘图被压缩,因此变得混乱 我的建议是将其保存在PDF或PNG格式中,并具有足够大的宽度和高度,然后可以放大。这将节省你很多时间。 例如 此外,您还可以使用

我想想象一下我自己的R包中的函数是如何相互依赖的。为此,我使用了
mvbutils
包中的
foodweb()
函数

我可以毫无问题地获得正确的函数依赖项,但是绘图看起来有点混乱,线条相互交叉,函数名称没有垂直或水平对齐

是否有一种控制绘图布局的方法,类似于在
igraph
软件包中的工作方式

例子
dirPath由于有许多数据、连接等,因此为了适应屏幕,绘图被压缩,因此变得混乱

我的建议是将其保存在PDF或PNG格式中,并具有足够大的宽度和高度,然后可以放大。这将节省你很多时间。 例如

此外,您还可以使用
foodweb
的绘图选项

希望有帮助。

迈克尔

一个选择是从foodweb的窗帘后面看。
mvbutils::foodweb
函数返回(S3)类
foodweb
的对象。这包括三个部分:

  • funmat由0和1组成的矩阵,显示(行)调用(列)的内容。DIMNAME是函数名
  • x以par(“usr”)单位显示显示器中每个功能名称中心的x轴位置
  • 级别以par(“usr”)单位显示显示屏中每个功能名称中心的y轴位置
因此,我们可以采取的一种方法是调用
foodweb
,但告诉它不要创建绘图,而是返回
foodweb
对象。然后,我们可以通过
mvbutils::foodweb()
函数提供的默认值,或通过
graphics::plot()
操作数据目录

为什么?好吧,按照你的建议,我觉得有三种选择:

  • 您可以使用
    mvbutils::foodweb()
    参数
  • 使用随另一个绘图包返回的数据结构
  • 使用
    graphics::par()
    graphics::plot
    操作返回的
    foodweb
    结构的打印大小和属性
很高兴知道你的喜好。除此之外,我的意思是提供一个基本示例:

绘图包示例 在使用
graphics::plot
的情况下,您需要了解如何操作
graphics:par
par()
允许您设置或查询图形参数。例如,如果要清理函数图,您可以选择修改
fin
参数,以增加地物区域尺寸(宽度、高度),单位为英寸。这是一个简单的例子,但我觉得它有助于规划和演示您可以使用的选项

## Generate plot
if (!require(qtlcharts)) install.packages("qtlcharts")

## Here we specify `asNamespace` to get the package internals
fw <- foodweb( where = asNamespace( "qtlcharts"),
               plotting = FALSE,
               )
#Display foodweb structure
str(fw)

# Expand plot figure region dimensions...
par(fin = c(9.9,7))
# Plot fw strucuture
plot(fw, 
     border = TRUE, 
     expand.xbox = 1,
     boxcolor = "pink", lwd = 1.5, cex = 0.8)

希望以上信息能为你指明正确的方向。 T

## Generate plot 
pdf( "mygraph.pdf", width = 50, height = 80 )
par(mar = rep(0.1, 4))
foodweb(border = TRUE, boxcolor = "pink", lwd = 1.5, cex = 0.8)
dev.off()
## Generate plot
if (!require(qtlcharts)) install.packages("qtlcharts")

## Here we specify `asNamespace` to get the package internals
fw <- foodweb( where = asNamespace( "qtlcharts"),
               plotting = FALSE,
               )
#Display foodweb structure
str(fw)

# Expand plot figure region dimensions...
par(fin = c(9.9,7))
# Plot fw strucuture
plot(fw, 
     border = TRUE, 
     expand.xbox = 1,
     boxcolor = "pink", lwd = 1.5, cex = 0.8)
if (!require(qtlcharts)) install.packages("qtlcharts")
fw <- foodweb( where = asNamespace( "qtlcharts"),
               plotting = FALSE)

str(fw)
par(fin = c(9.9,7))
plot(fw, 
     border = TRUE, 
     expand.xbox = 1,
     boxcolor = "pink", lwd = 1.5, cex = 0.8)

fw <- foodweb( where = asNamespace( "qtlcharts"),
               rprune = "convert_", ## search on `convert_` to negate use `~convert_`
               plotting = FALSE)
str(fw)
par(fin = c(9.9,7))
plot(fw, 
     border = TRUE, 
     expand.xbox = 1,
     boxcolor = "pink", lwd = 1.5, cex = 0.8)