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 obtained
所以,我想让所有带有标签的点都可见。那么,有人可以帮我解决这个问题吗?
如果您想按照您使用 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
。当我 运行 遇到标签位置问题(与数据点重叠等)时,我经常添加包 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-variable。它是可选的,但在我看来看起来更好。
我对绘图标签的大小有疑问。所以,这是代码:
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 obtained
所以,我想让所有带有标签的点都可见。那么,有人可以帮我解决这个问题吗?
如果您想按照您使用 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
。当我 运行 遇到标签位置问题(与数据点重叠等)时,我经常添加包 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-variable。它是可选的,但在我看来看起来更好。