图例而不是马赛克中的标签()

Legend instead of label in mosaic( )

我正在尝试制作一个显示三个分类变量的图。实验中播放一段声音(t1-t6), listeners responded (preposition or number), and rated their confidence (1-5). I want to show these three things all together. The best I've come up with is this mosaic plot shown below usingmosaic()`

带有声音、响应和置信度的马赛克图:

但是,我无法做到这一点 "look good." 我想到的一件事是使填充(响应)成为图例并消除标签,但我似乎无法弄清楚如何做到这一点。

有什么建议吗?

此外,在制作完情节后,有什么方法可以更改标签吗?

谢谢!

至于构建马赛克图的一般原则:开始使用 "explanatory" 变量进行拆分然后根据 "dependent" 变量进行拆分通常是一个有用的指导原则在末尾。因为后面的拆分总是以前面的拆分为条件。

所以在你的情况下,很明显 Response 应该在 Sound 之后使用(就像你在你的例子中所做的那样)。我不太清楚 Confidence 应该用作第一个 split/condition (就像你所做的那样)还是最后一个 split/condition.

如果我必须口头描述你的情节,我会说:

  • 在自信的人组中(Confidence = 5),前三个声音导致介词反应,而其他三个声音导致数字反应。

  • 在中度自信的人组中(Confidence = 4),在 Sound 从 1 到 6 的过程中,从介词到数字的过渡很平滑。

  • 在不自信的人群中(Confidence = 2 或 3),差异较小,Response 更接近于随机猜测。

如果这是一个有用的解释,那么拆分顺序就可以了。否则你可能会玩更多的拆分顺序。

至于布局。 mosaic() 和相关函数中有很多用于标记的选项,请参阅 vignette("strucplot", package = "vcd")。在这种情况下,我可能会使用 doubledecker() 函数(具有适当大的边距和图形设备的 "wide" 纵横比)。我想这应该更容易阅读。

(我本来可以演示,但由于缺少 data/reproducible 示例而无法演示。)