R ggplot2画图 注释和坐标系调整

如何修改坐标轴的显示范围

  • scale_x_continuous()
  • scale_y_continuous()
  • xlim(min,max)
  • ylim(min,max)
p + scale_x_continuous(limits = c(-5,15)) 
#将x轴刻度显示范围设置为-5到15
p + scale_y_continuous(breaks=seq(1, 7, 1),limits=c(0,7))
# breaks()可以设置 显示范围,这里是1到7,间隔是1。limits()设置的是 实际的范围,例如这里实际范围是0到7。所以y轴的范围是0到7,但是数字显示1到7,间隔是1。

如何修改坐标轴的刻度标签(内容):

scale_x_continuous(breaks=seq(), labels=c())
scale_y_continuous(breaks=seq(), labels=c())

将x轴的标签 1 2 5 7修改为 张1 张2 张3 张4
p + scale_x_continuous(breaks=seq(1, 7, 2), labels = c("张1","张2","张3","张4"))+theme(text = element_text(family = "HYTiaoTiaoTiJ"))

修改 坐标轴刻度标签的大小、字体、颜色、加粗、位置、角度

theme(axis.text.x =)
theme(axis.text.y =)

p + theme(axis.text.x = element_text(size = 15, family = "myFont", color = "green", face = "bold", vjust = 0.5, hjust = 0.5, angle = 45))

删除刻度标签

theme(axis.text = element_blank()) ## 删去所有刻度标签
theme(axis.text.y = element_blank()) ## 设置 axis.text.y 则只删去 Y 轴的刻度标签,X 轴同理。
theme(axis.text.x = element_blank()) ##只删去 X 轴的刻度标签。

删除刻度线

theme(axis.ticks = element_blank()) ## 删去所有刻度线
theme(axis.ticks.y = element_blank()) ## 只删去 Y 轴的刻度线
theme(axis.ticks.x = element_blank()) ## 只删去 x 轴的刻度线

如何给坐标轴和图形添加标题

  • xlab x轴标题
  • ylab y轴标题
  • ggtitle 图形标题
  • labs(x = "x轴标题", y = "y轴标题", title = "图形标题")
p + xlab("这是 X 轴") + ylab("这是 Y 轴") + ggtitle("这是标题")
p + labs(x = "这是 X 轴", y = "这是 Y 轴", title = "这是标题")

如何设置中文字体

如果想要设置中文的字体,则需要定义字体的格式,比如宋体、华文楷体等。
但是定义的字体需要是电脑上已经有的。
拿我自己的mac举例子。需要去 字体册,查看所要定义的字体对应的英文。如下图,选择汉仪跳跳体简,对应的英文为HYTiaoTiaoTiJ。

image.png

写法如下:
theme(text = element_text(family = , face=))
family:Font family(字体名称)
还可以定义 字体的一些参数,比如加粗,斜体等。是通过 face参数来指定的。face:Font face(字体) ("plain普通", "italic斜体", "bold加粗", "bold.italic加粗并斜体")
p + labs(x="群体",y="收获体重")+ theme(text = element_text(family = "HYTiaoTiaoTiJ"))

修改 X 轴标题的大小、字体、颜色、加粗、位置、角度

theme(axis.title.x=)
theme(axis.title.y=)

p + xlab("这是 X 轴") + theme(axis.title.x = element_text(size = 15, family = "HYTiaoTiaoTiJ", color = "green", face = "bold", vjust = 0.5, hjust = 0.5, angle = 45)) 
# axis.title.x 修改的是x轴标题
p + theme(axis.text.x = element_text(size = 15, family = "myFont", color = "green", face = "bold", vjust = 0.5, hjust = 0.5, angle = 45)) 
# axis.text.x 修改的是x轴的刻度标签

去掉默认的网格线

theme(panel.grid=element_line(colour=NA)) #panel.grid 网格线

删去外层边框

theme(panel.border = element_blank()) ## 删去外层边框

删除外层边框之后怎么在加上x轴和y轴的坐标轴

theme(axis.line = element_line(size=1, colour = "black")) ## 再加上坐标轴(无刻度、无标签)

如何为一个图形添加注释

可以使用annotate()函数对图像添加注解
用法为:
annotate(geom="", x=, y=, label="", family="", fontface="", colour="", size=#)

  • geom表示添加注解的类型,如果=“text”,则表示为文本类型;其他类型查看?annotate
  • x、y是给注解在图中赋予一个坐标
  • label为要注释的内容
  • family、fontface、colour、size等是分别用来控制注解的字体、样式、颜色、大小等
  • annotate()和geom_text()有所不同:前者用来添加单独的文本对象,后者则会根据数据创建许多文本对象
    annotate("text", x=1.7, y=5, label="= -0.60*** ",size=4) # 在x为1.7,y
    为5的地方加入注释 -0.60*** ,大小为4。
p+mytheme+annotate("text", x=0.5, y=5, label="r",fontface="italic",size=4)+
  annotate("text", x=1.7, y=5, label="= -0.60***   ",size=4)

为分面画图的每一个图形 分别 添加独立的注释

在创建分面后配合数据框使用geom_text()函数
在分面后将因子的标签映射到geom_text()上即可使得每个分面出现对应因子标签的注解

p<-ggplot(data=exp1_statanalysis_longdata_valid_new, aes(x=Fair, y=Punish_amount))+
  geom_point(size=0.6)+
  geom_smooth(method="lm", color="#0072B5FF")+
  labs(x="The fairness at the distribution", y="The amount of punishment")+
  facet_grid(. ~ Intention_Outcome)+
  scale_y_continuous(breaks=seq(0, 6, 2))+
  scale_x_continuous(breaks=seq(-5, 5, 2))
p
corr_labels <- data.frame(Intention_Outcome=c("fair_unfair","unfair_fair","unfair_unfair"), label1=c("r","r","r"),label2=c("= -0.17","= -0.48***"," = -0.36* ")) 
#设置需要添加的标签的内容,因为用了facet_grid来分面,所以标签要分别设置。
# geom_text()添加文字内容。x表示x轴的坐标,y表示y轴的坐标
# fontface为字体:plain普通,bold加粗,italic斜体,bold.italic斜体加粗
p + geom_text(x=-3, y=6, aes(label=label1), fontface="italic",size=3,data=corr_labels)+
  geom_text(x=-0.8, y=6, aes(label=label2),size=3,data=corr_labels)+mytheme1

为分面画图的每一个图形 都添加统一的注释

使用annotate()函数,为所有分面都添加统一的标签
p + annotate("text", x=6, y=42, label="label text")

主题

设置画图的主题

mytheme<-theme(axis.title.y=element_text(face="bold",size=12,color="black"),#修改y轴标题的字体为加粗,12,颜色黑色。
               axis.title.x=element_text(face="bold",size=12,color="black"),
               #axis.title.x=element_blank(),#删去x轴的标题
               axis.text=element_text(face="bold", size=11,color="black"),# 设置x轴和y轴的刻度标签 字体为加粗,11,颜色黑色。
               panel.background=element_rect(fill="white"),#设置 panel.background:绘图区背景色 为白色
               panel.border=element_blank(),# panel.border:去除绘图区边框
               axis.line=element_line(color="black",size=1),# 去除绘图区边框后,加上x轴和y轴的轴线 颜色为黑色,size为1.
               panel.grid.minor=element_blank(),# panel.grid.minor:次要网格线,除了与坐标轴的标签对应的主要网格线外的线
               panel.grid.major=element_blank(),# panel.grid.major: 主要网格线,与坐标轴的标签对应的网格线
# 上面panel.grid.minor和panel.grid.major这两句可以改写为
# panel.grid=element_line(colour=NA) 
# 等价于panel.grid=element_blank()
               legend.position="right",# 设置图例的位置在 右侧
               legend.title=element_text(face="bold",color="black"),# 设置图例的标题 文本为 加粗 黑色 
               legend.text=element_text(face="bold",color="black"))# 设置图例的文字 为 加粗 黑色

参考资料:
http://blog.csdn.net/bone_ace/article/details/47427453
https://blog.csdn.net/qq_36608036/article/details/105300241
https://rpubs.com/pele/theme

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容