R语言实战-3图形初阶

今天状态不好,但是学习R语言,貌似就是对着书本瞧瞧代码,瞧瞧代码,很适合打发时间,出来图形时候的微微成就感还是很有治愈效果的。

3.图形初阶

3.1使用图形

pdf("mygraph.pdf") #保存为pdf文件
attach(mtcars) #绑定数据框mtcars
plot(wt,mpg) #散点图
abline(lm(mpg~wt)) #添加一条最优的拟合曲线
title("Regression of MPG on Weight") #添加标题
detach(mtcars) #解除绑定
dev.off()

1.png

3.2简单的例子####

dose<-c(20,30,40,45,60)
drugA<-c(16,20,27,40,60)
drugB<-c(15,18,25,31,40)
plot(dose,drugA,type="b",pch=19,lty=2,col="red")
plot(dose,drugB,type="b",pch=23,lty=6,col="blue",fg="green")

试了下最后一行的代码里的fg,居然是讲边框的颜色改为绿色。赞喽~

3.3图形参数

方法一可对全部的图形进行图形参数的设定,但是该方法使用前最好要先保存当前参数,保证绘制图形后能还原设置。

par() #此参数可用于设定图形参数,不添加任何参数会生成一个含有当前参数设置的列表

opar<-par(no.readonly = TRUE) #将图形设置的原参数赋值给opar
par(lty=2,pch=17)
par(opar)

另一种常用的方法是指定的选项仅对这幅图有效。
plot(dose,drugA,type="b",lty=2,pch=17)
具体查看参数帮助 ?plot
注意rainbow()函数可用于生成彩虹型颜色,gray()可生产多阶灰度

n<-10
mycolors<-rainbow(n)
pie(rep(1,n),labels = mycolors,col=mycolors)
mygrays<-gray(0:n/n)
pie(rep(1,n),lables=mygrays,col=mycolors)

3.4添加文本、自定义坐标轴和图例

plot(dose,drugA,type="b",
col="red",lty=2,pch=2,lwd=2,
main="clinical trial for drug A",
sub="this is hypothetical data",
xlab = "dosage",ylab="drug response",
xlim = c(0,60),ylim = c(0,70))

发现这些代码太繁杂了,再码些例子试试看:

x<-c(1:10)
y<-x
z<-10/x #生成数据
opar<-par(no.readonly = TRUE)
par(mar=c(5,4,4,8)+0.1)
plot(x,y,type = "b",
pch=21,col="red",
yaxt="n", #禁用Y轴(只留下框架,去除刻度)
lty=3,ann=FALSE) #绘制图形
lines(x,z,type="b",pch=22,col="blue",lty=2)#line()函数可以为现有图形添加新的图形元素
axis(2,at=x,labels = x,col.axis="red",las=2) #添加左边的坐标信息
axis(4,at=z,labels=round(z,digits = 2),
col.axis="blue",las=2,cex.axis=0.7,tck=-.01
) #添加右边的坐标信息
mtext("y=1/x",side=4,line=3,cex.lab=1,las=2,col="blue") #用于在图形便捷添加文本
title("an example of creative axes",
xlab = "x values",
ylab="Y=X")#添加标题和文本

还可以添加次要刻度线,需要加载Hmisc包中的minor.tick()函数。

library("Hmisc")
minor.tick(nx=2,ny=3,tick.ratio=0.5)

添加参考线

abline(h=c(1,5,7)) #在y为1,5,7位置添加水平实线
abline(v=seq(1,10,2),lty=2,col="blue")

最终的结果如下图:


example.png

添加文本标注

attach(mtcars)
plot(wt,mpg,
main="Mileage vs. Car Weight",
xlab = "weight",ylab="Meileage",
pch=18,col="blue")
text(wt,mpg,row.names(mtcars),cex=0.6,pos=4,col="red")
detach(mtcars)

3.5图形组合

attach(mtcars)
opar<-par(no.readonly = TRUE)
par(mfrow=c(2,2))#按照行填充,前一个数字为行数,后一个数字为列。
plot(wt,mpg,main = "wt vs. mpg")
plot(wt,disp,main = "wt vs. disp")
hist(wt,main = "histogram of wt")
boxplot(wt,main="boxplot of wt")
par(opar)

detach(mtcars)

效果如下:


final.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,948评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,371评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,490评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,521评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,627评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,842评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,997评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,741评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,203评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,534评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,673评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,339评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,955评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,770评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,000评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,394评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,562评论 2 349

推荐阅读更多精彩内容