包:gglpot2和gcookbook

1.读取文件

csv:read.csv;参数stringAsFactor是因子转换。函数factor将字符转换为因子。

xlsx:【xlsx包】read.xlsx,参数SheetIndex,SheetName

xls:【gdata包】read.xls需要安装ActiveState Perl,建议转成csv再读取

【foreign包】read.spss读spss、read.octave可以读取MATLAB等,许多其他软件的数据个格式

2.快速探索数据

散点图

  • plot(x,y)
    plot(数据ax列名,数据框ax列名,数据框ax列名,数据框ay列名)

  • 【gglpot2】
    qlpot(数据框ax列名,数据框ax列名,数据框ax列名,数据框ay列名)
    qlpot(x列名,y列名,data=数据框a)
    qlpot(数据框a, aes(x=x列名,y=y列名))+geom_point()

  • gglpot(数据框,aes(x=x数据,y=y数据【reorder(name,avg)排序】))+
    geom_point(size=3)+
    theme_bw()+ #风格
    theme(aixs.text.x=element_text(angle=60,hjust=1), #数据标签旋转60°
    panel.grid.major.x = element_blank(), #删除竖直网格线
    panel.grid.minor.x = element_blank(),
    panel.grid.major.y = element_line(colour=“grey60”,
    linestype=“dashed”),#虚线
    legend.position=c(,), #图例放置在绘图区域
    legend.justification=c(,)

只选其中几列
数据框[,c(“列名”,“列名”,“列名”)]
分面
+facet_grid(~,scales=,space=)

折线图

  • plot(数据ax列名,数据框ax列名,数据框ax列名,数据框ay列名,type=“1”)
    加点用points
    加线用lines
  • 【gglpot2】
  • qplot(数据ax列名,数据框ax列名,数据框ax列名,数据框ay列名,geom=“line”)
  • ggplot(数据库,aes(x=,y=))+geom_line()+
    geom_point+ #点
    scale_y_log10() #y取对数
    当x为因子型变量时,aes(x=,y=,group=1),确保折线连在一起

多条折线图
ddply用于汇总
在aes里添加:将分类数据映射给colour(线色),linestype(线型),shape(数据标记的形状,fill(数据标记的填充色))

错开数据标记
+geom_line(position=position_dodge(0,2)) #将连接线左右移动0.2
+geom_point(position=position_dodge(0,2),size=4) #将点左右移动0.2

修改数据标记样式
在geom_point(size,colour,fill,shape) 大小、颜色、填充色、形状
scale_fill_manual 手动设定数据的颜色

修改线条样式
在geom_line里添加:colour(线色),linestype(线型,dashed),size(线宽)
多条折线的颜色还可以通过
colour_brewer(palette=“Sat1”)和
scale_colour_manual(values=c(“black”,“white”))函数。
但是在aes外部设定,这样会把所有的折线设置为同样的样式。

条形图&频数直方图&直方图

基础&着色

  • barplot()
    table()计算各个类别的频数
  • hist
  • qplot
  • ggplot(数据框,aes=(x=,y=))+geom_bar(stat=“identity”,fill=“lightblue”,colour=“black”)
    fill控制填充色,colour控制边框线颜色。colour和color都可以运行
    factor()函数可以将数字转换为分类变量/离散型变量

簇状&着色

  • ggplot(数据框,aes=(x=x轴分类变量【reorder(x,y)】,y连续变量),fill=簇分类变量)+geom_bar(position=“dodge”,stat= “identity”,colour=“black”)+scale_fill_brewer(palette=“Pastell”)
    // + scale_fill_manual(values = c(“#669933”,“FFCC66”))

dodge使簇分开,不然就是堆叠的
可用scale_fill_brewer或scale_fill_manual函数对图形颜色设置
Pastell是调色盘(RColorBrewer包)
【reorder(x,y)】按y值大小排序

柱宽和组距
分别由 geom_bar(width,position=position_dodge())
设置

频数直方图

  • ggplot(数据框,aes(x=))+geom_bar()
    只传入x轴,数据每一行对应一个样本
  • geom_bar(stat=“bin”)

挑选数据
a <- subset(数据框,rank(列)>10)
a <- subset(数据框,列a == “A” & 列b>10)

正负条形图分别着色
apos<−apos <- apos<−a列c >=0 #传回TRUE和FALSE
然后将pos映射给fill
position=“identity”

  • ggplot(数据框,aes=(x=,y=,fill=pos))+geom_bar(stat=“identity”,position=“identity”,colour= “black”,size=0.25)+ scale_fill_manual(values = c(“#669933”,“FFCC66”),guide= FALSE)
    添加数据标签

  • +geom_text(aes(y=【高度】,label=y变量,vjust=),
    colour=“white”,
    position=position_dodge(0.9), #设置组距
    size=2) #设置字号
    #设定竖直调整,vjust=-0.2在上方,vjust=1.5在下方

  • 修改lable的格式,两位小数,加单位
    lable=paste(format(y变量,nsmall=2),“单位”)

  • +geom_text(aes(y=y变量+0.1),label=y变量) #调整位置

设置y轴范围
+ylim(0,max(y变量)*1.05)
堆积条形图

  • ggplot(数据框,aes=(x=x轴分类变量,y连续变量,fill=簇分类变量,order=desc(簇分类变量))) #调整堆积顺序 order=desc(簇分类变量)
  • +geom_bar(stat= “identity”,colour=“black”) #增加边框线
    +guides(fill=guide_legend(reverse=TRUE)) #调整图例顺序
    +scale_fill_brewer(palette=“Pastell”) #调色板

欲加数据标签,需要先分组求和 arrange排序,ddply分组,cumsum求累计和,得到标签的y周坐标。

百分比堆积条形图
plyr包中的ddply()函数和transform()函数将数据%化,
ddply计算每类的百分比、分组
transform函数将其他数据传回

箱线图

  • plot(因子型x,y)

  • boxplot() 可以使用公式语法和变量组合

  • qplot()

  • ggplot(数据框,aes=(x=x离散变量/连续,y=))+geom_boxplot()
    将x使用interaction函数,可以得到分组变量。需要是因子型变量。

函数图像

  • curve
  • qplot(c(x轴范围),fun=函数,stat=“function”,geom=“line”)
  • gglpot(data.frame=(x=c(x轴范围)),aes(x=x)+ stat_function(fun=myfun,geom=“line”)

X.图形整饰

xlab(“x坐标轴名称”)

阅读笔记——《R数据可视化手册》肖楠等;主要ggplot2相关推荐

  1. R数据可视化手册pdf

    下载地址:网盘下载 内容简介  · · · · · · R具有强大的统计计算功能和便捷的数据可视化系统.<R数据可视化手册>重点讲解R的绘图系统,指导读者通过绘图系统实现数据可视化. 书中 ...

  2. 《R数据可视化手册》一1.4 从Excel文件中加载数据

    本节书摘来自异步社区<R数据可视化手册>一书中的第1章,第1.4节,作者 [美]Winston Chang,更多章节内容可以访问云栖社区"异步社区"公众号查看 1.4 ...

  3. python簇状柱形图_《R数据可视化手册》一3.2 绘制簇状条形图

    本节书摘来自异步社区<R数据可视化手册>一书中的第3章,第3.2节,作者 [美]Winston Chang,更多章节内容可以访问云栖社区"异步社区"公众号查看 3.2 ...

  4. 高级转录组分析和R数据可视化第11期(报名线上课还可免费参加线下课2020.6)

    福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现决定安排扩增子16S分析.宏基因组.Python课程和转录组的线上直播课.报名参加线上直播课的老师可在1年内选择参加同课程的一次线下课 ...

  5. 高级转录组分析和R数据可视化第11期(课程推迟,可先报名,时间另行告知)

    封面来源:https://www.zhihu.com/question/304747766 常规转录组是我们最常接触到的一种高通量测序数据类型,其实验方法成熟,花费较低,是大部分CNS必备的技术,以后 ...

  6. 高级转录组分析和R数据可视化(2020.2,课程推迟,可先报名,时间另行告知)

    封面来源:https://www.zhihu.com/question/304747766 常规转录组是我们最常接触到的一种高通量测序数据类型,其实验方法成熟,花费较低,是大部分CNS必备的技术,以后 ...

  7. 高级转录组分析和R数据可视化专题研讨会(2019.12)

    常规转录组是我们最常接触到的一种高通量测序数据类型,其实验方法成熟,花费较低,是大部分CNS必备的技术,以后应该就如做个PCR一样常见.而且分析思路简洁清晰,是入门生信,学习生信分析思路和数据可视化的 ...

  8. 独家 | 盘点9个适用所有学科的R数据可视化包(附链接)

    作者:Asha Hill 翻译:王雨桐 校对:蒋雨畅 本文约1900字,建议阅读8分钟. 本文将简要盘点R中常用的9个可视化包,并通过简要介绍包的特点和相关案例来帮助读者深入理解可视化包. 如果最近浏 ...

  9. 学习笔记之数据可视化(一)——项目适配方案

    目录 最终效果展示 1. 数据可视化适配方案 1.1 项目需求 1.2 PC端适配方案 1.3 使用到的技术 2. 数据可视化项目开发 项目准备 1.1 文件准备 1.2 引入js和css文件 1.3 ...

  10. 本周开课 | 第 17 期高级转录组分析和R数据可视化火热报名中!!!

    福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现安排<高级转录组分析和R数据可视化>于2022年4月15-17 线上/线下课程 (线上课是通过腾讯会议实时直播线下课,实时 ...

最新文章

  1. MySQL必知必会读书笔记
  2. 下一站:AlphaDrug?
  3. 令人郁闷的 DOCTYPE
  4. Visual Studio 2005常用插件搜罗
  5. SCGHR_存储过程(eSP_IDChangeStart)_政治面貌为什么不能正确更新
  6. Exceptionless使用介绍
  7. 牛客16426 玩具谜题
  8. 数学如何杀死了雷曼兄弟
  9. 容器技术之快速了解K8S各抽象资源及组件架构
  10. android 抽屉侧滑冲突,利用DrawerLayout和触摸事件分发实现抽屉侧滑效果
  11. 给定一个数组 prices计算其利润最大
  12. zoj3494BCD Code(ac自动机+数位dp)
  13. [访问系统] C#计算机信息类ComputerInfo (转载)
  14. 20191204每日一句
  15. 中专生计算机职业素养论文,中职学生的职业素养
  16. Android Wi-Fi源码分析之wpa_supplicant初始化(三):wpa_supplicant_add_iface函数分析
  17. 视频播放库Vitamio的使用以及功能扩展
  18. Spring Websocket 使用笔记
  19. Domino管理中的一些小而有大用处的技巧
  20. vue 踩坑 Already included file name ‘xxx‘ differs from file name ‘xxx‘

热门文章

  1. python2与python3区别底层的区别_Python2 与 Python3 的区别(二)?
  2. JavaScript cookie js cookie设置
  3. Mysql 数据库中Exists 关键字的使用
  4. 微信公号“架构师之路”学习笔记(五)-数据库扩展性架构设计(水平切分,秒级扩容,平滑迁移,在线表结构变更,一个大数据量多属性高并发的数据库设计等)
  5. python之三元表达式、列表生成式、字典表达式、生成器表达式
  6. 关于文献汇报与撰写论文模板,我有话要讲!
  7. 面试之手撕BP反向传播
  8. SNIP物体检测算法理解
  9. Java在websocket获取Httpsession及bean无法注入问题
  10. EF的注解Annotation和Fluent API