简体   繁体   English

R 中地块标签大小的问题

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

I'm having problems with the size of the labels of the plots.我对地块标签的大小有疑问。 So, this is the code:所以,这是代码:

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')

This is the plot I obtain: plot obtained这是我获得的plot:获得的plot

So, I would like to have all the points with their labels visible.所以,我想让所有带有标签的点都可见。 So, could someone help me with this?那么,有人可以帮我解决这个问题吗?

If you want to keep your text position relative to the points the way you defined it with the pos parameter, one option would be to increase the limits of the x axis range (particularly on the left side), eg:如果您想保持您的文本 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')

For plots I prefer ggplot .对于情节,我更喜欢ggplot When I run into issues with the positions of labels (overlaps with datapoints and such) I often add the functionalities of the package ggrepel .当我遇到标签位置问题(与数据点重叠等)时,我经常添加 package ggrepel的功能。 Example below.下面的例子。

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))

The nudge_y parameter moves your label with 0.02 units of your y-variable. nudge_y参数以 0.02 个单位的 y 变量移动 label。 Its optional but looked better in my opinion.它是可选的,但在我看来更好看。

阴谋

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

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