繁体   English   中英

R 中地块标签大小的问题

[英]Problems with the size of the labels of the plots in R

我对地块标签的大小有疑问。 所以,这是代码:

column1 <- c(0.18936045, 0.55010315,  0.23474801, 0.02578839)
column2 <- c(0.20522653, 0.51235168, 0.26060781, 0.02181398 )

example_data <- 
  data.frame(
    rowNames = c('[-2.34898,-0.83219]', '(-0.83219,0.684599]', '(0.684599,2.20139]', '(2.20139,3.71818]'),
    column1 = column1,
    column2 = column2
  )

plot(data = example_data, column1 ~ column2, xlab = "Marginal probs scaledsci",
     ylab = "Actual probs from data", pch = 20, col = 'blue')
text(data = example_data, column1 ~ column2, labels = rowNames, cex = .6, pos = 2.99, col = 'red')

这是我获得的plot:获得的plot

所以,我想让所有带有标签的点都可见。 那么,有人可以帮我解决这个问题吗?

如果您想保持您的文本 position 相对于您使用pos参数定义它的方式的点,一种选择是增加 x 轴范围的限制(特别是在左侧),例如:

xlim2 <- {r2=diff(range(column1))*.6; c(mean(column1)-r2, max(column1))}

plot(data = example_data, column1 ~ column2, xlab = "Marginal probs scaledsci",
     ylab = "Actual probs from data", pch = 20, col = 'blue', xlim=xlim2)
text(data = example_data, column1 ~ column2, labels = rowNames, cex = .6, pos = 2.99, col = 'red')

对于情节,我更喜欢ggplot 当我遇到标签位置问题(与数据点重叠等)时,我经常添加 package ggrepel的功能。 下面的例子。

library(ggplot2)
library(ggrepel)
ggplot(example_data, aes(x = column1, y = column2)) + geom_point(size = 4, col = "blue") + labs(x = "Marginal probs scaledsci", y = "Actual probs from data") + geom_text_repel(label = example_data$rowNames, col = "red", nudge_y = 0.02) +
theme_bw() +  theme(text = element_text(size = 15))

nudge_y参数以 0.02 个单位的 y 变量移动 label。 它是可选的,但在我看来更好看。

阴谋

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM