本文讲解我在R语言绘图过程中对离散性、连续性的困惑以及应该如何理解。

写在前面:discrete离散的 continuous连续的

系统学习ggplor2,可以选择的是练数成金的课程,供参考

本节涉及的是ggplot2的scales(标度),是从domain(数据空间)到range(装饰属性空间)的一个函数。一些概念如下(和本文关系不大)

  • Domain可以是一组数据(离散情形)或实数轴上的区间(连续情形)
  • Range同样可以是离散或连续的
  • Transformation(只对连续情形)
  • Training
  • mapping

坐标轴的数类型据为numerical的时候,绘图时自动当做连续型处理,其实也很好理解,绘图的时候不只是画出变量里含有的值,应该体现数据的大小关系,即本应该就当做连续型数据。而对于分组图例的时候,若当做离散型,这时数据只是起到分类的作用,和其大小无关;若当做连续型,能看到过渡变化情况。

1. 分组图例:连续vs离散

library(ggplot2)
qplot(displ, hwy, data = mpg, colour = cyl)  #生成连续型图例(下图左图)
qplot(displ, hwy, data = mpg, colour = factor(cyl))  #生成离散型颜色分组及图例(右图)

   

注意二者的区别:没加factor的颜色不是离散的,是从4到8均匀过渡;加了factor的则是离散的颜色值(此处更好)。factor是转换为因子结构的意思。

2. 坐标轴:连续vs离散

library(ggplot2)
p<-qplot(cty,hwy,data=mpg)
p
p+aes(x=drv) + scale_x_discrete() # x轴由连续变量替换为离散变量

当替换的变量离散性连续性不同的时候,需要添加scale_x_discrete()或者scale_x_continuous。绘图时,坐标轴变量只要为数值型且需要反映其值大小的时候通常为连续型,且只要是numerical,R默认将其当做continuous,我们不需要对此再加设置。

3. 针对scale离散或者连续的用法: scale_第一列_第二(三)列

如:scale_colour_hue  #追对离散图例colour分组

scale_colour_gradient #针对连续图例colour分组

例1:scale_colour_hue

p <- qplot(sleep_total, sleep_cycle, data = msleep, colour = vore)
p #下面左图
p + scale_colour_hue() # 默认scale,没有任何变化
# Adjust parameters of the default, here changing the appearance
# of the legend
p + scale_colour_hue("What does\nit eat?",      #图例标题:\n换行
breaks = c("herbi", "carni", "omni", NA),
labels = c("plants", "meat", "both", "don’t know"))   #下面右图

 

例2:xlab(),ylab() 和 labs()

p <- qplot(cty, hwy, data = mpg, colour = displ)
p
p + scale_x_continuous("City mpg") #x为连续的,设横坐标标题(这句不管他,和下面一样)
p + xlab("City mpg") #横坐标标题
p + ylab("Highway mpg") #纵坐标标题
p + labs(x = "City mpg", y = "Highway",colour = "Displacement") #这句最好用
#设置横坐标、纵坐标、colour分组图例处的标题p + xlab(expression(frac(miles, gallon))) #frac是分数的意思
#最后这句里面是在标题出放入公式,公式具体参见plotmath(R中输入:?plotmach即可)

公式具体参见plotmath(R中输入:?plotmach即可)

例3:Breaks和labels

p <- qplot(cyl, wt, data = mtcars)
p

p + scale_x_continuous(breaks = c(5.5, 6.5))
#刻度文字只显示x轴上5.5-6.5的部分,但是不改变原来的数据范围。
p + scale_x_continuous(limits = c(5.5, 6.5))
#限定了x轴范围,范围外的不显示

     

p <- qplot(wt, cyl, data = mtcars, colour = cyl) #连续型分组图例
p

p + scale_colour_gradient(breaks = c(5.5, 6.5)) #设置图例的刻度文字范围

p + scale_colour_gradient(limits = c(5.5, 6.5)) #超出limits的显示为灰色

至此,应该能理解离散和连续的使用了,以及文中的那个表格要理解构成和使用,祝学习顺利!欢迎交流R语言。

ggplot01:R语言坐标轴离散、连续与图例离散连续的区分相关推荐

  1. R语言可视化包ggplot2改变图例(legend)的标题(title)实战

    R语言可视化包ggplot2改变图例(legend)的标题(title)实战 目录 R语言可视化包ggplot2改变图例(legend)的标题(title)实战

  2. R语言ggplot2可视化将颜色图例和形状的图例组合成综合图例实战

    R语言ggplot2可视化将颜色图例和形状的图例组合成综合图例实战 目录 R语言ggplot2可视化将颜色图例和形状的图例组合成综合图例实战

  3. R语言ggplot2可视化移除图例中的a字符实战

    R语言ggplot2可视化移除图例中的a字符实战 目录 R语言ggplot2可视化移除图例中的a字符实战

  4. R语言可视化包ggplot2改变图例(legend)元素的大小实战:包含图例中标题字体、文本字体、标识模块(key)的大小

    R语言可视化包ggplot2改变图例(legend)元素的大小实战:包含图例中标题字体.文本字体.标识模块(key)的大小 目录

  5. R语言可视化包ggplot2改变图例(legend)标签实战

    R语言可视化包ggplot2改变图例(legend)标签实战 目录 R语言可视化包ggplot2改变图例(legend)的标签实战 #ggplot2图例标签改变语法

  6. R语言-坐标轴画法要旨

    在R语言中绘制坐标轴时,如何将坐标轴的刻度画在图内呢? 下面有一个完整的例子: #画图测试 aixs.test<-function(){     x<-rnorm(7)     #prin ...

  7. 『R语言Python』针对多分类离散型变量的特征工程

    在训练模型之前,我们常常需要根据不同变量的基本情况进行相应且合理的特征工程,通过阅读文献和自行尝试,我针对多分类变量的特征工程做出了一些总结 数据来源(adult数据集):https://archiv ...

  8. R语言使用ggplot2包使用geom_density()函数绘制密度图(连续色彩、离散色彩、梯度色彩)实战(density plot)

    R语言使用ggplot2包使用geom_density()函数绘制密度图(连续色彩.离散色彩.梯度色彩)实战(density plot) 目录 R语言使用ggplot2包使用geom_density( ...

  9. R语言ggplot2可视化:自定义设置连续变量图例(legend)宽度(width)、自定义设置连续变量图例位置(position)、自定义设置连续变量图例连续渐变

    R语言ggplot2可视化:自定义设置连续变量图例(legend)宽度(width).自定义设置连续变量图例位置(position).自定义设置连续变量图例连续渐变 #初始示例(图例互相分离.图例细线 ...

最新文章

  1. linux驱动:音频驱动(一)ALSA
  2. 前沿技术 | 自动机器学习综述
  3. 如何实现分享网站文章到微信朋友圈时显示指定缩略图或LOGO
  4. JSP request response session
  5. 研究综述 | 知识图谱划分算法研究综述
  6. Python模块之optparse
  7. Mysql权限控制 - 允许用户远程连接
  8. android scrollow嵌套listview,excel 中IDEX和MATCH函数嵌套应用.doc
  9. 基于区块链Baas平台的跨链实践
  10. 2017年个人目标及计划
  11. 内网渗透学习04——域内横向移动
  12. Manim文档及源码笔记-CE文档-主题化指南3渲染文本和公式
  13. 庄周带你练习数据库语句复习常备之【JavaWeb阶段学习】
  14. 基于HTML+JavaScript+CSS计算机实验室预约管理系统网页设计 文档+html源码
  15. 浅析即时通讯开发P2P技术如何降低实时视频直播带宽
  16. C/C++ 中的宏 (macros) 与宏展开的可视化显示
  17. 电脑网络重置后的出现的问题以及解决办法
  18. ARM使用术语清除(flush)和清理(clean)表示对cache的两种基本操作
  19. 聚类分析matlab
  20. 灾备机房深信服超融合IP网段调整记录2021-1-28

热门文章

  1. notepad++打开一个某个工程目录
  2. EMIF的两个接口EMIFA和EMIFB分析与比较
  3. 磁盘IO:缓存IO、直接IO、内存映射
  4. XILINX资源获取
  5. 阿帕奇搭建文件服务器,关于LINUX文件服务器简单搭建---NFS与APACHE服务
  6. 调制的缺点_电光调制与声光调制原理和应用领域
  7. CMB中相关仪器设备和术语
  8. 脑细胞膜等效神经网路12分类实例
  9. 人工智能写的散文之白色月光下
  10. webdriver For selenium