ggplot2作图细节

我们每个人作图之前都需要将数据整理到位,不然走不到作图哪一步,就进行不下去了。学会前期数据处理比后期图形选择更加重要。

长宽数据概念以及转换

长宽数据在数据运算作图领域非常重要,我们一般作图用的是长数据,一般计算方差标准差会用宽数据会显得比较方便。
长数据是指数据集中的变量没有做明确的细分,即变量中至少有一个变量中的元素存在值严重重复循环的情况(可以归为几类),表格整体的形状为长方形,即 变量少而观察值多。一列包含了所有的变量,而另一列则是与之相关的值。
宽数据是指数据集对所有的变量进行了明确的细分,各变量的值不存在重复循环的情况也无法归类。数据总体的表现为 变量多而观察值少。每一列为一个变量,每一行为变量所对应的值。

library(tidyr)
library(reshape2)
## 宽转长
tillerworkmddt_long <- melt(tillerworkmddt,id.vars = c("family"),  #需保留的不参与聚合的变量列名measure.vars = c('june27th','july2th','july7th','july12th','july18th','july22th',#需要聚合的变量'july27th','August1th'),variable.name = c('date'),#聚合变量的新列名value.name = 'tillernumber')#聚合值的新列名
#spread()函数将宽格式转化为长格式
tillerworkmddt_w<-spread(tillerworkmddt_long, S, value)
#dcast()函数将宽格式转化为长格式
tillerworkmddt_long<-dcast(tillerworkmddt_w, tillernumber~dtillerworkmddt_w$S,value.var = 'value')

此处就不给大家图了,涉及到毕业论文,大家带入变量试试便知。

数据集的挑选

hdcy6 <- tillerworkhdcy[c(1081:1200),] #挑选tillerworkhdcy数据集的1081行到1200行。subset(dataset, subset, select )
#子集(数据集,子集,选择)
#dataset是要进行操作的数据集
#subset是对数据的某些字段进行操作
#select选取要显示的字段

看了一些博主的分享我对subset函数的理解就是,如果你想通过某列的特殊逻辑来选择行,则对subset进行逻辑编辑,比如$age>60等,但是对一些文本选取不太理想,此处可能是我境界不够,如果是想选取某些列则对selet进行修改即可。

箱线图中变量排序问题

hdcy3$family <- factor(hdcy3$family,levels =c("LHY25","LHY26","LHY27",
"LHY32","LHY33","LHY34","LHY35","LHY36","LHY37"))

关于这个问题,我们在作图之前就需要对我们的变量名进行一个排序,当然如果作图前没有排列,系统则自动默认排序,一般都不是我们想要得到的。

关于R语言调色板限制变量的解决

打破配色限制

install.packages( "paletteer")
library(paletteer)mycol<-paletteer_d( "ggthemes::Classic_20",n=20)

下面给大家罗列一些我常用的调色包,大家可以值得一试

library(ggsci)
p2<-p+scale_color_npg+scale_fill_npglibrary(RColorBrewer)
p7<-p+scale_fill_manual(values=rev(mycolor2))+
scale_color_manual(values=rev(mycolor2))library(paletteer)
col3<-colorRampPalette(c('blue','white','red'))(30)  #可指定颜色
mycol<-paletteer_d( "ggthemes::Classic_20",n=20)library(colourpicker)
col_map<-c( "#E07979", "#801212", "#EDB4B4", "#4169E1", "#6CA6CD", "#48D1CC", "#FFC0CB", "#96CDCD")

推荐网址:https://colorbrewer2.org/

小结

一千个人眼中有一千个哈姆莱特,拥有发现美的眼睛,让我们的作图之路一帆风顺。

ggplot2作图细节(长宽数据转化,数据集挑选,变量排序,调色板限制变量解决方案)相关推荐

  1. 长宽数据变换_reshape2包_2021-02-28

    我们用一个R内置的测试数据airquality举例什么是: head(airquality) ozone solar.r wind temp month day 1    41     190  7. ...

  2. Stata: 你还在用reshape转换长宽数据吗?那你就OUT了!

    作者:华晨 (The University of Manchester) https://www.lianxh.cn   连享会 - Stata 暑期班 线上直播 9 天:2020.7.28-8.7 ...

  3. 推荐两个长宽数据互换函数pivot_longer和pivot_wider

    长宽数据转换有reshape(真难用),reshape2,cast,melt,spread,gather后两项非常简单易用,pivot_longer和pivot_wider,更强劲,在数据重组过程中还 ...

  4. python长数据转换成宽数据_python – 长/宽数据到宽/长

    我有一个数据框,如下所示: import pandas as pd d = {'decil': ['1. decil','1. decil','2. decil','3. decil','3. dec ...

  5. 一个基于长数据转化为宽数据的小软件---data_tran.exe

    长宽矩阵在转化的过程中有很多种方式,我最喜欢就是用R或者python去进行转化,当然也可以进行手动转化 首先,我们看一下数据的形式,以及我们想要转化的形式 以A列作为行,B列作为列,E列的值填充在这个 ...

  6. R语言使用across函数一次性将多个数据列进行离散化(categorize):或者pivot_longer函数转化为长表、对转化为长表的数值数据列进行离散化、pivot_wider将数据转化为宽表

    R语言使用across函数一次性将多个数据列进行离散化(categorize):或者pivot_longer函数转化为长表.对转化为长表的数值数据列进行离散化.pivot_wider将数据转化为宽表 ...

  7. R包reshape2,轻松实现长、宽数据表格转换

    本文翻译自外文博客,原文链接:https://seananderson.ca/2013/10/19/reshape/ 一.reshape2 简介 reshape2是由Hadley Wickham编写的 ...

  8. python长表转换宽表_Pandas数据变换-长宽表互换

    最近工作中,有时会遇到数据转化的问题,这块知识之前掌握得比较零散,今天花时间整理了下 数据来源于下jizhang/pandas-tidy-data​github.com 一.层级索引 层级索引可以作为 ...

  9. R语言ggplot2可视化:使用长表数据(窄表数据)( Long Data Format)可视化多个时间序列数据、在同一个可视化图像中可视化多个时间序列数据(Multiple Time Series)

    R语言ggplot2可视化:使用长表数据(窄表数据)( Long Data Format)可视化多个时间序列数据.在同一个可视化图像中可视化多个时间序列数据(Multiple Time Series) ...

最新文章

  1. 为什么模型复杂度增加时,模型预测的方差会增大,偏差会减小?
  2. 人人都能看懂的 Python 装饰器入门教程
  3. 使用PHP导入Excel和导出数据为Excel文件
  4. 89岁教授起诉知网获赔70万:自己的论文竟要花钱才能看?
  5. vim 如何出创建工程目录
  6. boost::astar_search用法的测试程序
  7. Git强制覆盖还原本地救火命令
  8. linux怎么看日期,linux 怎么用命令查看日期
  9. 通过90行代码学会HTML5 WebSQL的4种基本操作
  10. C# ManualResetEvent的理解和用法
  11. 漏洞learning[安全大事记]
  12. 双显卡只用独显好吗_双动力洗衣机好吗
  13. 理解iOS 8中的Self Sizing Cells和Dynamic Type
  14. 《java高并发编程详解》第0集
  15. 服务器的安全配置技巧总结
  16. arcgis10.3添加工具
  17. 2021-01-19 灵动ICPC集训
  18. 荣耀V20是起点,一波炫酷荣耀潮配又来啦!
  19. WPF界面工具Telerik UI for WPF入门级教程 - 设置一个主题(二)
  20. body onload

热门文章

  1. 仙人掌之歌——系统设计(2)
  2. G冰分布(0.0以上)
  3. SD nand与SD卡 SPI模式驱动
  4. java 模板方法_设计模式(java实现)_模板方法模式(Template method)
  5. 【软考 系统架构设计师】企业信息化战略与实施④ 企业信息化与电子商务
  6. UiO-66有机骨架负载CdS量子点|铈掺杂NH-UiO-66/硫化铟锌复合可见光催化剂|层状UiO-66/g-C3N4/Ag复合材料|各种mof定制材料
  7. 学历:门槛还是机会?
  8. Appium-System Bars(系统状态栏)
  9. backlog配置_tcp-backlog配置
  10. python自动售货机_自动售货机支付系统详解