R lattice 3d打印:更改面板边框厚度时记号消失

R lattice 3d打印:更改面板边框厚度时记号消失,r,panel,axis,lattice,R,Panel,Axis,Lattice,以下代码使用cloud生成带有记号的绘图,如预期的那样: require(lattice) cloud(Sepal.Length ~ Petal.Length * Petal.Width, data = iris, scales = list(arrows=F)) 在par.setting参数中使用axis.line更改面板边框厚度时,无论是否在scales中调用tck参数,边框厚度都会更改,但记号会消失: cloud(Sepal.Length ~ Petal.Length * Petal.W

以下代码使用
cloud
生成带有记号的绘图,如预期的那样:

require(lattice)
cloud(Sepal.Length ~ Petal.Length * Petal.Width, data = iris,
scales = list(arrows=F))
par.setting
参数中使用
axis.line
更改面板边框厚度时,无论是否在
scales
中调用
tck
参数,边框厚度都会更改,但记号会消失:

cloud(Sepal.Length ~ Petal.Length * Petal.Width, data = iris,
scales = list(arrows=F, tck=1),
par.settings = list(
axis.line = list(lwd = 0.5)))

这似乎发生在其他3d功能中,例如线框。有什么我忽略了的吗?我怎样才能解决这个问题?非常感谢您的帮助。

滴答声似乎消失的原因是晶格的厚度基于axis.line参数

cloud(Sepal.Length ~ Petal.Length * Petal.Width, data = iris,
      scales = list(arrows=F, tck=c(3), draw = TRUE),
      par.settings = list(axis.line = list(lwd = 0.5))
      )
在上面的示例中,我将tck参数更改为3,但将lwd参数保持为0.5。您可以看到R已推出刻度标签-因此它们仍在渲染中,但看起来不可见

现在,如果您运行:

cloud(Sepal.Length ~ Petal.Length * Petal.Width, data = iris,
      scales = list(arrows=F, tck=c(3), draw = TRUE),
      par.settings = list(axis.line = list(lwd = 2))
      )

您可以看到刻度仍然存在,但与axis.line参数成比例绘制,所以实际上-下一个问题是:通过传递axis.line=list(lwd=0.5),您实际上想要实现什么?

我认为这是代码中的一个错误。如果将“距离”参数更改为使记号变长,然后尝试使记号变粗,则会产生不同的线型,而不是较粗的记号:

cloud(Sepal.Length ~ Petal.Length * Petal.Width, data = iris,
       scales = list(arrows=F, distance=c(2), draw = TRUE),
       par.settings = list(axis.line = list(lwd = 3)) # Dashed lines instead of thicker
       )
所以在普通频道上似乎有一些“相声”。此外,如果使用
lty
参数,则可以获得所需的记号宽度变化:

cloud(Sepal.Length ~ Petal.Length * Petal.Width, data = iris,
      scales = list(arrows=F, distance=c(2), draw = TRUE),
      par.settings = list(axis.line = list(lty = 0.5))   # Success
      )

我猜这也会影响线框功能,因为它们的核心非常相似,只是面板功能不同。(这是Mac运行R2.15.3和lattice 0.20-15以及R3.0.2/lattice 0.20-24的版本。)

非常感谢您的回复。我通过axis.line=list(lwd=0.5)的原因是为了使图形看起来更漂亮。原来的问题仍然存在。进一步思考,并与我们的两个问题相关,可以通过传递
axis.line=list(col='transparent')
使记号出现,这将完全删除面板边框,并在
scales
参数中传递
col='black'
(这不适用于重新建立刻度线的
axis.line=list(lwd=0.5)
)。我认为如果没有额外的面板边框,甚至在多个面板的情况下,它看起来更漂亮(更像是提交给日志的内容)。再次感谢讨论。我将向Deepayan Sarkar发送一份错误报告。