点上带有标签的r中的x-y散点图

点上带有标签的r中的x-y散点图,r,ggplot2,text,scatter-plot,R,Ggplot2,Text,Scatter Plot,我正在试着画一个x-y散点图。我不介意它是在plot还是GGPlot 2中。我对每一个都不太了解,但如果你不介意的话,我想举两个例子。我想要一个标签上的点 以下是代码和dput: tickers <- rownames(x2) library(zoo) plot(x2, main= "Vol vs Div", xlab= "Vol (in %)", ylab= "Div", col= &

我正在试着画一个x-y散点图。我不介意它是在plot还是GGPlot 2中。我对每一个都不太了解,但如果你不介意的话,我想举两个例子。我想要一个标签上的点

以下是代码和dput:

tickers <- rownames(x2)

library(zoo)
plot(x2, 
     main= "Vol vs Div",
     xlab= "Vol (in %)",
     ylab= "Div",
     col= "blue", pch = 19, cex = 1, lty = "solid", lwd = 2)

text(x=x2$Volatility101,y=x2$`12m yield`, labels=tickers,cex= 0.7, pos= 3)


下面是一个
tidyverse
解决方案

library(ggplot2)
library(tidyr)
library(dplyr)
library(ggrepel)

x2 %>%
  rownames_to_column(var = "tickers") %>%
  ggplot(aes(x = Volatility101, y = `12m yield`)) +
  geom_point(color = "blue") +
  geom_text_repel(aes(label = tickers)) +
  ggtitle("Vol vs Div") +
  xlab("Vol (in %)") +
  ylab("Div") +
  theme_classic() 

我很惊讶
绘图功能居然能正常工作。Y值是字符值。在文本调用中修复该问题将导致文本放置在预期位置

text(x=x2$Volatility101,y=as.numeric(x2$`12m yield`)+.1, labels=tickers,
            cex= 0.7, col='black')
关于问题陈述的几个注意事项:ggplot2为什么是一个标记还不清楚(并且具有误导性)。
plot
功能是通用的,在这种情况下,它使用的是基本图形,而不是
ggplot2
特定的图形或更一般的
grid
图形。我还认为
library(zoo)
调用可能是不必要的。有一个
plot.zoo
函数,但在本例中不会调用它

text(x=x2$Volatility101,y=as.numeric(x2$`12m yield`)+.1, labels=tickers,
            cex= 0.7, col='black')