0

我正在尝试按照此处有关如何创建双 y 轴图的说明进行操作(是的,我知道)。我的代码是这里

然而,在输出中,一些主要的网格线略微未对齐(见红色框),而其中一些则完全对齐。我不确定是什么导致了其中一个地块的这种膨胀。我重写了该站点上的代码以更好地理解它,并且可能在某处引入了错误。

在此处输入图像描述

一个简单的解决方法是关闭其中一个图上的网格线,但这似乎隐藏了问题而不是修复它。


编辑:

我尝试在此处原样运行原始代码,但在第 130 行遇到以下错误。

> ticks$grobs[[1]]$x <- ticks$grobs[[1]]$x - unit(1, "npc") + tml
Error in Ops.unit(ticks$grobs[[1]]$x, unit(1, "npc")) : 
  both operands must be units

因此,我无法检查问题是否是我在转录时引入的错误。

4

1 回答 1

1

您的代码gist无法运行(而且它也有点复杂)。

要了解为什么线条不对齐,请考虑以下示例:

  • axis1:范围:0 - 1。0.5 的值介于 0 和 1 之间。
  • axis2:范围:0 - 10。5 的值介于 0 和 10 之间。

现在在你的图表中你有(类似的东西)

  • 轴 1:范围:0 - 1.1。0.5 的值是 0.5/1.1 = 0.45,介于 0 和 1 之间。
  • 轴 2:范围:0 - 10.1。5 的值是 5/10.1 = 0.495,介于 0 和 10 之间。
  • 结果:未对齐的线条。

您不应该为每个轴添加一个常数,该值需要与比例成正比。

于 2016-08-18T09:00:27.050 回答