vcd 马赛克图中的“set_varnames=...” - 如何提高标签中的数字?

Posted

技术标签:

【中文标题】vcd 马赛克图中的“set_varnames=...” - 如何提高标签中的数字?【英文标题】:"set_varnames=..." in vcd mosaic plots - how to raise numbers in the labels? 【发布时间】:2017-10-23 08:41:17 【问题描述】:

我正在寻找有关如何在我的 vcd 马赛克图的标签中提高数字的解决方案。

编辑: 例如,我在 Titanic 数据集中随机选择了 Sex 标签:

vnames <- list(set_varnames=c(Sex="Sex=10^X")) 

mosaic(Titanic, labeling_args=vnames)

它们将始终显示为10^2,而不是10²

例如使用expression(10^2)

xlab(bquote('Zoospores ('*10^x*') per plastic box'))

在正常的 R 图中或 ggplot2 不适用于 vcd 包的镶嵌 () 命令中的 labeling_args= 中的 set_varnames= 调用。

我在 vcd 马赛克图中找不到我的具体问题的答案,只有关于 ggplot2 和正常图中的标签的答案..

期待你们的阅读!

【问题讨论】:

您能否提供一个可重现的代码示例 正在寻找答案,对不起,我是新来的页面 vnames &lt;- list(set_varnames=c(Sex="Sex=10^X")) mosaic(Titanic, labeling_args=vnames) #### in ggplot xlab(bquote('Zoospores ('*10^x*') per plastic box')) 很好地提高了 x 以便它显示在指数中,我也尝试了不同的解决方案 expression() 他们总是有效在 ggplot 或 R 图中,但不在我的马赛克图标签中。这就是为什么我认为@Jaap 将这个问题标记为重复是错误的(但我仍然是 R 的初学者,所以他毕竟可能是对的 ..) 你知道它不起作用的原因是什么吗@Hardikgupta? 我刚刚咨询了 mosaic() 的主要作者和 vcd 的维护者 David Meyer。问题在于,原本非常灵活的标签依赖于处理字符串,即它粘贴varnames并将它们插入标签等。并且在此工作流程中无法保留expressions。 【参考方案1】:

在统计学家社区的两位敬业成员 - @Achim Zeileis 和 David Meyer 的提示下,我找到了一个相当简单的解决方案。

继续举例:

vnames <- list(set_varnames=c(Sex="")) 

mosaic(Titanic, labeling_args=vnames)

grid.text(bquote('Sex ('*10^X*') example'), y=0.9, x=0.46,gp=gpar(fontsize=21))

grid.text() 完成了这项工作。由于您基本上是在之后添加标签,因此您必须对 x 和 y 进行一些操作才能使其到位。

一切顺利,

亚历山大

【讨论】:

以上是关于vcd 马赛克图中的“set_varnames=...” - 如何提高标签中的数字?的主要内容,如果未能解决你的问题,请参考以下文章

R语言可视化两个以上的分类(类别)变量之间的关系使用vcd包中的Mosaic函数创建马赛克图( Mosaic plots)用可视化的方式展示分类型数据

R语言 马赛克图

旋转镶嵌图的标签

什么是VCD?

现代伊兰特维修视频教程

VCD是啥意思