Graphs(图形)
本章其余部门讲授如何建设根基的图表范例,包罗密度图(直方图和核密度图),点状图,条形图(简朴条形图,仓库条形图,分组条形图),折线图,饼状图(简朴饼状图、配有注释的饼状图、3D饼状图),箱线图(简朴箱线图,带凹口箱线图,小提琴状图,箱线图)和散点图(简朴散点图,带拟合线的散点图,散点图矩阵,高密度图,和3D散点图)。
高级图表章节先容如何定制图表和给图表加注释,该部门是数据更巨大的图表范例。
1.建设图表
在R,凡是以交互式的要领建设一个图表。
# 建设一个图形
attach(mtcars)
plot(wt, mpg)
abline(lm(mpg~wt))
title(“Regression of MPG on Weight”)
plot()的成果是打开一个图表窗口,绘制“重量vs英里每加仑。”
下一行代码为这个图表添加一条回归线。最后一行是添加一个标题。
1.1生存图表
在File -> Save As菜单下,你可以以多种名目生存图表。
你还可通过以下各个成果的代码生存图表。
函数 |
输出到 |
pdf(“mygraph.pdf”) |
pdf file |
win.metafile(“mygraph.wmf”) |
windows metafile |
png(“mygraph.png”) |
png file |
jpeg(“mygraph.jpg”) |
jpeg file |
bmp(“mygraph.bmp”) |
bmp file |
postscript(“mygraph.ps”) |
postscript file |
详情请查察输入/输出。
1.2查察多个图表
利用高级画图呼吁(画图、直方图、箱线图等)凡是会包围之前的图表。为制止这种环境产生,在新建一个图表前需要先打开一个新的图表窗口。利用以下的成果来打开一个新的图表窗口。
Function |
|
Platform |
windows() |
|
Windows |
X11() |
|
Unix |
quartz() |
|
Mac |
你可以同时打开多个图表窗口。详情请查察help(dev.cur)。
可能,在打开第一个图表窗口后,选择图表窗口菜单中的History -> Recording,点击Previous和Next,逐个处理惩罚你之前建设的图表。
1.3图形参数
你可在图形参数中自界说选择字体、颜色、线型、轴线、参考线等,选择范畴很广。高级图表章节中将讲到图形参数,而且具体报告轴线和文本的定制。
2.密度图
2.1直方图
利用hist(x)建设直方图,x是要绘制的值的数值向量。
freq=FALSE一般绘制的是频率而非密度。breaks=节制参数的数量。
#
简朴直方图
hist(mtcars$mpg)
#
彩色直方图,含差异数目标直方条数
hist(mtcars$mpg, breaks=12, col="red")
#
添加一条正态曲线
x <- mtcars$mpg
h<-hist(x, breaks=10, col="red", xlab="Miles Per Gallon",
main="Histogram with Normal Curve")
xfit<-seq(min(x),max(x),length=40)
yfit<-dnorm(xfit,mean=mean(x),sd=sd(x))
yfit <- yfit*diff(h$mids[1:2])*length(x)
lines(xfit, yfit, col="blue", lwd=2)
利用直方图很难抉择漫衍的形状,因为直方图受所利用的参数的数量影响太大。
2.2核密度图
用核密度图欣赏变量的漫衍往往是更有效的要领。利用plot(density(x))建设核密度图,x是数值向量。
#
核密度曲线
d <- density(mtcars$mpg) # returns the density data
plot(d) # plots the results
#
填充的密度图
d <- density(mtcars$mpg)
plot(d, main="Kernel Density of Miles Per Gallon")
polygon(d, col="red", border="blue")
2.3通过核密度较量各组
sm包中的sm.density.compare( )成果可以在两个或更多的分组上添加核密度。名目为sm.density.compare(x, factor)。x是数值向量,factor是分组变量。
#
较量
4
、
6
、
8
气缸的汽车的
MPG
漫衍
library(sm)
attach(mtcars)
#
建设值标签
cyl.f <- factor(cyl, levels= c(4,6,8),
labels = c("4 cylinder", "6 cylinder", "8 cylinder"))
#
画密度图
sm.density.compare(mpg, cyl, xlab="Miles Per Gallon")
title(main="MPG Distribution by Car Cylinders")
#
通过鼠标点击来添加图例
colfill<-c(2:(2+length(levels(cyl.f))))
legend(locator(1), levels(cyl.f), fill=colfill)
#p#分页标题#e#
3.点状图
利用dotchart(x, labels=)成果建设点状图,x是数值向量,labels是每个点的标签向量。你可添加一个groups=选项,指定一个确定x元素的分组的系数。这样的话,gcolor=就节制分组标签的颜色,cex节制标签的巨细。
#
简朴的点图
dotchart(mtcars$mpg,labels=row.names(mtcars),cex=.7,
main="Gas Milage for Car Models",
xlab="Miles Per Gallon")
# Dotplot: Grouped Sorted and Colored
# Sort by mpg, group and color by cylinder
x <- mtcars[order(mtcars$mpg),] # sort by mpg
x$cyl <- factor(x$cyl) # it must be a factor
x$color[x$cyl==4] <- "red"
x$color[x$cyl==6] <- "blue"
x$color[x$cyl==8] <- "darkgreen"
dotchart(x$mpg,labels=row.names(x),cex=.7,groups= x$cyl,
main="Gas Milage for Car Models\ngrouped by cylinder",
xlab="Miles Per Gallon", gcolor="black", color=x$color)
3.1更多
建设高级点状图可用Hmisc包中的dotplot2()成果和lattice包中的panel.dotplot( )成果。获取更多信息拜见William Jacoby关于点状图的文章。
4.条形图
用barplot(height)建设条形图,此处height是一个矢量或矩阵。当其为矢量时,该值暗示画图中各条的高度。当其为矩阵、而且beside=FALSE时,图表中每一条对应一组高度,该组中数值是仓库的各个“下级条”的高度。当其为矩阵、而beside=TRUE时,那么每组中的数值就是并列的而非仓库的。names.arg=(character vector)给各条加标签。horiz=TRUE选项用于建设横向的条形图。
4.1浅易条形图
#
简朴条形图
counts <- table(mtcars$gear)
barplot(counts, main="Car Distribution",
xlab="Number of Gears")
#
添加标签的简朴程度条形图
123下一页