点上带有标签的r中的x-y散点图
我正在试着画一个x-y散点图。我不介意它是在plot还是GGPlot 2中。我对每一个都不太了解,但如果你不介意的话,我想举两个例子。我想要一个标签上的点 以下是代码和dput:点上带有标签的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= &
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')