使用eulerr包绘制欧拉图:边距与字体大小调整难题
解决eulerr包欧拉图的边距与标签字体问题
问题原因
eulerr包的绘图基于grid绘图系统,而非R基础绘图系统,因此基础绘图的par()(如mar)、cex.lab等参数无法生效,需要使用eulerr自身的绘图参数进行调整。
解决方案
1. 调整图形边距
使用plot.euler()函数的pad参数控制图形周围的空白边距,数值越大,边距越宽(默认值通常较小,容易导致图形超出画布)。
2. 调整标签字体大小
- 分组标签:通过
labels = list(fontsize = 数值)设置字体大小 - 数量标签(quantities):通过
quantities = list(fontsize = 数值)单独设置数量文本的字体大小
修改后的完整代码
pacman::p_load(dplyr, eulerr) my_dt <- tibble( value = c(1:8), group_a = c(TRUE, TRUE, FALSE, TRUE, TRUE, FALSE, FALSE, TRUE), group_b = c(TRUE, FALSE, TRUE, TRUE, FALSE, FALSE, TRUE, TRUE), group_c = c(FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, FALSE) ) set.seed(1234) plot( euler(my_dt[, c("group_a", "group_b", "group_c")]), quantities = list(fontsize = 10), # 调整数量标签字体大小 labels = list(fontsize = 12), # 调整分组标签字体大小 pad = 0.2 # 扩大图形边距,避免超出画布 )
内容的提问来源于stack exchange,提问作者Kang
相关产品推荐
相关产品推荐

