R语言学习笔记——R语言绘图

###############test1##############################
############### graph test 2014.04.03 ############
#加入mtcars对象到对象搜索范围之内 其实更加推荐使用的是 with
#用attach如果对象中出现名字重复的,将以当前内存中的名字作为最优的
attach(mtcars)
#查看对象的结构
str(mtcars)
#查看对象的统计属性
summary(mtcars)
plot(wt, mpg)
abline(lm(mpg~wt))
title("Regression of MPG on WEIGHT")
detach(mtcars)
#从图中我们可以看到,重量越大,我们每加伦汽车的行驶距离越长


#下面用with改写上面的程序,注意with内部的变量对外部不可见,但是如果用 <<- 赋值则对外部可见
#注意增加用代码保存图片
pdf(file="picture/mypicture.pdf")
with(data=mtcars, expr={
  plot(wt, mpg)
  abline(lm(mpg~wt))
  title("Regression of MPG on WEIGHT")
})
dev.off()


###############test2 —— 图形参数控制##############################
############### graph test 2014.04.03 ############

#测试数据集合
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")

#用par来设置图像显示参数,pch=17 显示实心三角形,lty=2表示线是虚线
opar <- par(no.readonly=TRUE)
#记住pch表示点的类型,具体参数可以查看help(pch)
#cex可以控制字体大小包括坐标轴标识大小,副标题大小,主标题大小等
##@@特别注意cex在par中设置的结果和在plot这些高级绘图中设置的结果是有区别的,以实际为准
#lwd可以控制线条的大小包括了坐标轴线条大小
par(lty=2, lwd=3, pch=15, bg="lightblue", col.lab="blue", cex=1, font.main=5)
#颜色的在线图表http://research.stowers-institute.org/efg/R/Color/Chart
plot(dose, drugA, type="b")
title("a")
par(opar)

plot(dose, drugA, type="b", lty=3, lwd=3, pch=15, cex=2, col="red")

#R语言颜色向量生成函数rainbow() 、 heat.colors() 、 terrain.colors() 、 topo.colors()以及 cm.colors()
n <- 10
mycolors <- rainbow(n)
pie(rep(1, n), labels=mycolors, col=mycolors)
mygrays <- gray(0:n/n)
pie(rep(1, n), labels=mygrays, col=mygrays)
#于是我想要的颜色很容易就找到了

#字体控制,与cex相同,font1=常规,2=粗体,3=斜体,4=粗斜体,5=符号字体(公式就是靠它了)
#如果以PDF或PostScript格式输出图形,则修改字体族会相对简单一些。 1 对于PDF格式,可
#以 使 用 names(pdfFonts()) 找 出 你 的 系 统 中 有 哪 些 字 体 是 可 用 的 ,
#然 后 使 用 pdf(file="myplot.pdf", family="fontname") 来生成图形。对于以PostScript格式输出的图形,
#则可以对应地使用 names(postscriptFonts()) 和 postscript(file="myplot.ps", family="fontname") 。请参阅在线帮助以了解更多信息。


###############test2 —— 图形尺寸与边界尺寸,文本标注##############################
############### graph test 2014.04.03 ############
#查看http://research.stowers-institute.org/efg/R/Graphics/Basics/mar-oma/
#下面的参数设置解析如下:画一幅以dose为X轴,drugA为Y轴, 同时形状为点线,第i个点就是(X[i], Y[i])
#同时点的类型是空心圆点,线的类型是虚线,宽度是2
plot(dose, drugA, type="b", col="red",lty=2, pch=2, lwd=2,
     main="Clinical Trials for Drug A",#主标题
     sub="This is hypothetical data",#副标题位于最下面
     xlab="Dosag", ylab="Drug Response",#x,y轴的标签
     xlim=c(0, 60), ylim=c(0, 70))
#某些高级绘图函数已经包含了默认的标题和标签。你可以通过在 plot() 语句或单独的par()语句中添加 ann=FALSE 来移除它们。

#低级绘图命令,axis。如果想使用低级绘图命令axis,需要先在高级绘图命令中设置axes=FALSE
#axis的参数,side指定坐标轴的边,1下2左3上4右
#参数at表示刻度线的位置,labels表示刻度线旁边的文字
#pos坐标轴绘制的位置,重要参数las,tck刻度线的长度
#lty线条的类型,col线条和刻度线的颜色
#参数 xaxt="n" 和 yaxt="n" 将分别禁用X轴或Y轴(会留下框架线,只是去除了刻度)

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", lty=3, ann=FALSE)
lines(x, z, type="b", pch=22, col="blue", lty=2)
axis(2, at=x, labels=x, col.axis="red")
axis(2, tck=0.01)
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")
par(opar)



opar <- par(no.readonly=TRUE)
plot(dose, drugA, type="b",
    pch=15, lty=1,
    ann=FALSE,
  )

lines(dose, drugB, type="b", pch=17, lty=2)

title(main="Drug A vs Drug B", xlab="DrugDosage", ylab="Drug Response", las=2)
legend("topleft",inset=.05, c("A","B"), lty=c(1, 2), pch=c(15, 17), title="Drug Type")
x <- text(locator(2), labels=c("wuyu1", "wuyu2"))
par <- opar()


#help(plotmath)数学公式的书写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值