graphics - ca 绘制文本属性

标签 graphics r ggplot2 plot

有谁知道在使用 ca 包绘制对应图时控制行和列名称的字体大小/颜色/粗细的方法吗?

下面的代码将生成一个非常漂亮的图表,但如果有更多的属性(非常重,超重,不仅仅是超重)或更多类别的 worker (苦工,下属等),那么图表将得到有点困惑,很难分辨什么是什么。

如果您能以不同的颜色列出所有属性而不是 worker 类别,那就太好了。

library(ca)
data("smoke")

plot(ca(smoke)
  , map = "symmetric"
  , what =c("active","active")
  , mass = c(T,T)
  , contrib = "absolute"
  , col = c("red","blue")
  , pch = c(15,17,15,17)
  , labels = c(2,2)
  , arrows = c(T,F)
)

或者,有谁知道是否有办法用 ggplot2 重现这些内容?我在网站上没有找到任何类似的内容,但我对该软件包了解不多。

谢谢, -蔡斯

最佳答案

我会尝试 R 中提供的其他一些对应分析函数。其中一些函数支持字符扩展因子 (cex) 选项,因此您可以控制字体大小。 例如

library(FactoMineR)
res<-CA(smoke, ncp=5, row.sup=NULL, col.sup=NULL, graph = FALSE)
plot.CA(res, axes=c(1, 2), col.row="red", col.col="blue", label=c("col","col.sup", "row", "row.sup"),cex=.7)

library(MASS)
biplot(corresp(smoke, nf = 2),cex=.7,col=c("red","blue"))

library(anacor) # actually I didn't find a way to control font size here
res <- anacor(smoke, scaling = c("Benzecri", "Benzecri"),ndim=2) 
plot(res, plot.type = "jointplot", conf = NULL) 

编辑

当然,您可以从 ca 结果集中获取坐标并使用 ggplot2 生成此图。这里我使用来自 CA 的 res 对象。

df <- data.frame(dim1 = c(res$col$coord[,1],res$row$coord[,1]), 
dim2 = c(res$col$coord[,2],res$row$coord[,2]),
type=c(rep(1,length(res$col$coord[,1])),rep(2,length(res$row$coord[,1]))))

library(ggplot2)
qplot(dim1,dim2,data=df,colour=factor(type)) +
geom_text(aes(label=rownames(df)),size=3)

关于graphics - ca 绘制文本属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2653035/

相关文章:

r - 在 R : "Error: Object not found" 中使用 sf 在世界地图上对数据进行子集化和绘图

r - 将列表传递给绘图模式

r - 如何使用对数刻度和离散值改进 ggplot 直方图的方面

android - 按下按钮时递增/递减计数器

matlab - 为什么 surf 函数中 Z 尺寸相反

r - 如何在 R Shiny 中自动触发操作按钮

r - 数据框和 is.nan()

r - 如何区分ggplot线图中的跳跃?

java - 效率 : Imagemagick vs. Java awt 图形

java - 在 JApplet/Swing 中使用图形和小部件绘图?