搜索
查看: 2920|回复: 1

好奇心驱使下学的ggfortify

[复制链接]

64

主题

138

帖子

681

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
681
发表于 2017-7-18 21:00:11 | 显示全部楼层 |阅读模式
[AppleScript] 纯文本查看 复制代码
install.packages("ggfortify")
library(ggfortify)
autoplot(AirPassengers)#根据类型输出适当的图像
#也可以通过该变一些选项来控制图形外观,具体利用(autoplot.ts)来查看选项,下面修改ts.colour来改变颜色
autoplot(AirPassengers, ts.colour = 'blue')
#附加的装饰必须在ggplot的基础上完成
p <- autoplot(AirPassengers)
class(p)
# add title and labels
p + ggtitle('AirPassengers') + xlab('Year') + ylab('Passengers')
# these common options are supported as keywords 
autoplot(AirPassengers, title = 'AirPassengers', xlab = 'Year', ylab = 'Passengers')


#画栗子原型
set.seed(1)
p <- autoplot(kmeans(iris[-5], 3), data = iris)
# plot as it is
p
# change colour mapping
p + scale_colour_brewer()
#如果你想要一个不同类型的plot,可以使用fortify来获取data.frame,然后以正常的方式调用ggplot。以下示例显示了一个条形图,计算k均值聚类。
df <- fortify(kmeans(iris[-5], 3), data = iris)
head(df)
ggplot(df, aes(x= cluster, fill = cluster)) + geom_bar()
#处理子图
#autoplot可以在某些类中绘制子图。 例如,autoplot.lm绘制diagnostics图如下。
res <- lm(Volume ~ Girth, data = trees)  
mp <- autoplot(res, ncol = 4)
mp
#因为{ggplot2}本身不能在一个实例中处理不同种类的图,
#{ggfortify}使用其名为ggmultiplot的原始类来处理它们。 您可以使用+运算符来装饰ggmultiplot。
class(mp)
mp + theme_bw()
#另外,如果ggplot或ggmultiplot实例是右手边的,+操作符会追加绘图。 以下示例在 diagnostics后附加2个散点图。
mp +
  (ggplot(trees, aes(Girth, Volume)) + geom_point()) +
  (ggplot(trees, aes(Girth, Height)) + geom_point())
#取子集
mp[2:3]
mp[[1]]
#可以提取任意子集,修改和绘制。
mp[2:3] <- mp[2:3] + theme_bw()
mp
#绘制多个实例作为子图

#假设您要一次绘制多个实例。 {ggfortify}可以接受受支持实例的列表,并且可以输出子图。

#以下示例显示了3个kmeans图改变簇数。
res <- lapply(c(3, 4, 5), function(x) kmeans(iris[-5], x))
autoplot(res, data = iris[-5], ncol = 3)
#v下一个例子显示了多个生存曲线作为子图。
library(survival)
res <- list(a = survfit(Surv(time, status) ~ 1, data = lung),
            b = survfit(Surv(time, status) ~ sex, data = lung))
autoplot(res)
#可以将包含不同类的列表传递给autoplot。
library(vars)
data(Canada)
res <- list(a = Canada, b = AirPassengers)
autoplot(res)

#创建自己的子图
#您可以从ggplot实例的列表中实例化多个。
p1 <- ggplot(iris, aes(Petal.Width, Petal.Length)) + geom_point()
p2 <- ggplot(iris, aes(Petal.Width, Petal.Length)) + geom_point()
new('ggmultiplot', plots = list(p1, p2))
#布局可以通过nrow和ncol关键字来指定。
new('ggmultiplot', plots = list(p1, p2), ncol = 1)





上一篇:基于pyrad流程的GBS数据的建树分析
下一篇:HOPTOP转录组入门(五)序列比对
回复

使用道具 举报

0

主题

3

帖子

107

积分

注册会员

Rank: 2

积分
107
发表于 2018-4-1 22:48:40 | 显示全部楼层
好奇心,试了试
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2019-9-21 14:20 , Processed in 0.046633 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.