相关文章推荐
安静的香菇  ·  RuntimeError: cuDNN ...·  1 年前    · 
好帅的香菜  ·  安卓模拟器多开 - 京东·  1 年前    · 

(更多内容请见: R、ggplot2、shiny 汇总

ggplot2中图例基础:

  • ggplot2会自动生成图例,我们可以对图例进行删改。
  • 相同名称相同颜色的图例会自动合并。如下图,点图和线图的color、shape产生的图例都是相同名称相同颜色的,所以合并在一次:
library(ggplot2)
dt = data.frame(A = 1:10, B = c(2,21,6,18,9,25,13,15,10,3), C = c('A','C','A','B','C','D','A','C','D','B'))
p = ggplot(dt, aes(x = A, y = B, group = factor(1))) + 
  geom_point(aes(color = C, shape = C), size = 3.8) +
  geom_line(aes(color = C), size = 0.8)

如何隐藏图例?

方法一:用 guides(fill=FALSE) 隐藏由fill产生的图例,同理可以隐藏由color、shape产生的图例。
方法二:增加图层的时候把参数 show_guide 设为 FALSE,隐藏某图层的图例。
方法三:作用和方法一类似,设置 scale_fill_discrete(guide = FALSE),可以把中间的 fill 改成 color 或者 shape,从而隐藏相应的图例。
方法三:用 theme(legend.position = “none”) 来隐藏全局图例。

library(ggplot2)
dt = data.frame(A = 1:10, B = c(2,21,6,18,9,25,13,15,10,3), C = c('A','C','A','B','C','D','A','C','D','B'))
p = ggplot(dt, aes(x = A, y = B, group = factor(1))) + 
  geom_point(aes(color = C, shape = C), size = 3.8) +
  geom_line(aes(color = C), size = 0.8, show_guide = FALSE)   ##隐藏此图层产生的图例
#   + guides(fill=FALSE)   ##隐藏由fill产生的图例
#   + scale_fill_discrete(guide = FALSE)   ##隐藏由fill产生的图例
#   + theme(legend.position = "none")   ##隐藏所有图例

如何隐藏图例标题?

library(ggplot2)
dt = data.frame(A = 1:10, B = c(2,21,6,18,9,25,13,15,10,3), C = c('A','C','A','B','C','D','A','C','D','B'))
p = ggplot(dt, aes(x = A, y = B, group = factor(1))) + 
  geom_point(aes(color = C, shape = C), size = 3.8) +
  geom_line(aes(color = C), size = 0.8) 
p + guides(color=guide_legend(title=NULL))   ##对color产生的图例去掉标题
# p + theme(legend.title=element_blank())   ##把所有图例的标题去掉

如何更改图例顺序?

用 scale_color_discrete,通过 breaks 参数设置图例的顺序(注意也可以把color改成fill或者shape):

library(ggplot2)
dt = data.frame(A = 1:10, B = c(2,21,6,18,9,25,13,15,10,3), C = c('A','C','A','B','C','D','A','C','D','B'))
p = ggplot(dt, aes(x = A, y = B, group = factor(1))) + 
  geom_point(aes(color = C, shape = C), size = 3.8) +
  geom_line(aes(color = C), size = 0.8) + 
  scale_color_discrete(breaks = c('B','C','A','D'))

这里写图片描述
直接将图例逆序:
p + guides(color = guide_legend(reverse=TRUE))
或者:p + scale_color_discrete(guide = guide_legend(reverse=TRUE))
或者:p + scale_color_discrete(breaks = rev(levels(dt$C)))

如何更改图例的标签文字?

library(ggplot2)
dt = data.frame(A = 1:10, B = c(2,21,6,18,9,25,13,15,10,3), C = c('A','C','A','B','C','D','A','C','D','B'))
p = ggplot(dt, aes(x = A, y = B, group = factor(1))) + 
  geom_point(aes(color = C, shape = C), size = 3.8) +
  geom_line(aes(color = C), size = 0.8) + 
  scale_colour_discrete(breaks = c('A','B','C','D'), labels = c('W','X','Y','Z'))

如何设置图例标题和标签文字的大小、颜色?

library(ggplot2)
dt = data.frame(A = 1:10, B = c(2,21,6,18,9,25,13,15,10,3), C = c('A','C','A','B','C','D','A','C','D','B'))
p = ggplot(dt, aes(x = A, y = B, group = factor(1))) + 
  geom_point(aes(color = C, shape = C), size = 3.8) +
  geom_line(aes(color = C), size = 0.8) + 
  theme(legend.title = element_text(color="134", size=16, face="bold")) +   ##设置标题,face="bold"加粗
  theme(legend.text = element_text(color="azure4", size = 14, face = "bold"))   ##设置标签文字

如何将图例放到图的上方:

library(ggplot2)
dt = data.frame(A = 1:10, B = c(2,21,6,18,9,25,13,15,10,3), C = c('A','C','A','B','C','D','A','C','D','B'))
p = ggplot(dt, aes(x = A, y = B, group = factor(1))) + 
  geom_point(aes(color = C, shape = C), size = 3.8) +
  geom_line(aes(color = C), size = 0.8) + 
  theme(legend.position = 'top')   ##同理可以取 bottom、right、left
                                    它以真正例率(True Positive Rate,即灵敏度)为纵轴,以假正例率(False Positive Rate)为横轴,描述了在不同阈值下分类器的表现。以上就是使用pROC和ggplot2包绘制ROC曲线的基本步骤和代码。根据具体的需求,你可以进一步调整图形的样式,例如添加标题、修改线条颜色等。在R语言中,我们可以使用pROC和ggplot2这两个包来绘制ROC曲线。本文将详细介绍如何使用这两个包来绘制ROC曲线,并给出相应的源代码。接着,我们可以使用ggplot2包来绘制ROC曲线。
                                    legend就是ggplot绘制过程中,对分类变量产生的一个解释性图像,通常位于ggplot图形的右侧。一般而言,我们可以使用guides,theme,scale_*scale_*guidestheme以下,我们就介绍如何对图例进行修改。
                                    我们以连续的标尺开始示例,在映射数据是连续的时候,我们选择continous函数族,这些函数可以进一步指定它们是否是分箱的,(分箱是指将连续的变量分组为数个分组,每个组都被指定到特定的颜色中),在后续示例你会在图例中注意到分箱和连续颜色的区别。将日期映射到颜色我个人觉得是种很奇怪的行为(起码我一次都没遇到过),但既然ggplot2还是给了这种标尺(tidyverse就是喜欢重复造轮子),在文章的最后还是要介绍一下。让我们直入正题,虽然ggplot2拥有多达22种的标尺函数,但我们可以根据。
                                    本ggplot2基础语法系列的第六推文,来介绍与图例相关的函数和参数。library(ggplot2)
library(patchwork)
下面两幅图代码的区别仅在于映射关系中,一...
p<-ggplot(raw_m, aes(x=ymd(date),y = NOx/1000)) +
  geom_area(size = 0.7,fill="#69b3a2", alpha=0.4)+
    #alph
                                    ggplot 图例布局
影响图例展示的很多设置由主题系统(theme system)所控制。可以使用theme()函数来调整这些主题设定。
图例的位置和对齐方式的调整被主题设定参数legend.position控制,它可以取值为right,left,top,bottom,none(无图例)。
p <- ggplot(data = data, mapping = aes(x = x, y = input_data,group = yy,color = yy)) +
      geom_line
                                    本文更新地址:http://blog.csdn.net/tanzuozhev/article/details/51106909本文在 http://www.cookbook-r.com/Graphs/Scatterplots_(ggplot2)/ 的基础上加入了自己的理解图例用来解释图中的各种含义,比如颜色,形状,大小等等, 在ggplot2中aes中的参数(x, y 除外)基本都会生成图例来解释
                                    使用R的ggplot2可以实现精美的可视化展示,但是有一些杂志期刊或者毕业论文会要求不能用颜色来区分图例,要实现即使在黑白图状态下也能识别图例,即改用形状来区分图例。本文章主要就折线图和柱状图进行说明(目前作者还尚不知如何使用形状来填充柱状图,如果你有更好的办法可以在评论区进行补充交流)。一.折线图折线图要演示的数据:dt数据如下:准备做一个以season为x轴,mean为y轴,p...
                                    标尺是ggplot2作图必需的元素,在映射一节提到了它的概念并简单进行了设置。在数据分析阶段,为避免陷入数据无关的垃圾坑,我们只需要设置映射,ggplot2自动配置合适的标尺并产生坐标和图例。这是ggplot2适合数据可视化分析的原因之一。
在图形美化阶段,我们可以通过修改标尺改善图形外观。标尺设置一般不会对数据产生影响,但坐标轴标尺除外。
Table of Contents
1. 标尺