image.png使用R语言的ggplot2作图,使用
geom_text()
函数添加文本,因为文本比较长,所以想在文本中间添加一个换行符,这样添加文本后就可以换行显示
这个是数据
image.png但是使用R语言读取进来的时候为什么会多一个斜杠呢?
我是win10系统 R语言是4.0.3
我之前好像也这样处理过数据,当时好像没有遇到过这个问题呀
暂时不知道问题出在哪了
查了还没有找到资料
linux系统也有这个问题
image.png现在想到的办法是只能把这一列数据拆分成两列,读入以后再使用换行符把两列数据粘贴成一列
read.table("abcd.csv",sep=",",header=T) -> pra
pra
pra$label1<-paste(pra$x,pra$y,sep="\n")
ggplot()+
geom_text(data=pra,aes(x=x,y=y,label=label1))
image.png
这样是行得通的
还有一个办法是用空格替换换行符
然后使用stringr
这个包里的str_wrap()
函数
pra<-read.csv("abcd.csv")
pra
ggplot()+
geom_col(data=pra,aes(x=x,y=y,fill=x))+
geom_text(data=pra,aes(x=x,
y=y+1,
label=stringr::str_wrap(label1,width=1)))
image.png
还有一个知识点是如果坐标轴文本过长
也可以使用stringr
这个包里的str_wrap()
函数
df<-data.frame(x=c("AAAAAAA AAAAA AAA",
"BBBBBBB BBBB BBB",
"DDDDDDD DDD DDDD"),
y=5)
ggplot()+
geom_col(data=df,aes(x=x,y=y,fill=x))+
#coord_flip()+
scale_x_discrete(labels=function(x)stringr::str_wrap(x,width = 1))+
geom_text(data=df,aes(x=x,y=y+0.5,label=str_wrap(x,width=1)))+
scale_y_continuous(expand = c(0,0),limits = c(0,7))
image.png
这里又遇到了另外一个问题是图例没有换行,又不知道如何解决了!
欢迎大家关注我的公众号
小明的数据分析笔记本
小明的数据分析笔记本 公众号 主要分享:1、R语言和python做数据分析和数据可视化的简单小例子;2、园艺植物相关转录组学、基因组学、群体遗传学文献阅读笔记;3、生物信息学入门学习资料及自己的学习笔记!
网友评论