R语言常用绘图函数
条形图
条形图是用一个单位长度表示一定的数量,根据数量的多少画成长短不同的直条,然后把这些直条按一定顺序排列起来。
条形图横轴上的数据是离散的而不是连续的。
- 参数说明
height:高度,通过该参数可以指定要画多少个柱子以及每个柱子的高度,其值有两种格式。
第一种:向量vector,此时会根据向量的长度来判断有多少个柱子,向量中的每个值就是柱子的高度。
第二种:矩阵martrix,此时用于画堆积柱状图。
#使用向量 barplot(height=1:5)
#使用矩阵,堆积柱状图 data <- cbind(a=1:4,b=1:4) barplot(data)
beside:当输入参数为矩阵时,默认为堆积柱状图,beside默认值为FALSE,当为TRUE时,则每一列都表示一个分组并列。
data <- cbind(a=1:4,b=1:4) barplot(data,beside=TRUE)
width:宽度,控制每个柱子的宽度,默认值为1,值得注意的是,该值是可以循环使用的,当只设置一个值时,会自动循环,生成长度和柱子数目相同的向量,效果就是所有柱子的宽度一样,也可以指定多个值,使每个柱子宽度不同。
barplot(c(1,2,3,4,5),width=5:1)
names.arg:每个柱子下的标记,当height为向量时,默认的标记为向量的names属性,当height为matrix时,默认为colnames的属性。
barplot(c(1,2,3,4,5),names.arg=c("A","B","C","D","E"))
data <- cbind("A" = 1:4, "B" = 1:4) barplot(data, names.arg = c("D", "E"))
绘制条形图练习
#绘制简单的条形图 math <- c(78,92,89,61,95) barplot(math) #添加x轴上的分类标签 math <- c(78,92,89,61,95) name <- c("小刚","小明","小花","小芳","小丽") barplot(math,names.arg = name) #指定填充色、边框色、标题 math <- c(78,92,89,61,95) name <- c("小刚","小明","小花","小芳","小丽") barplot(math,names.arg = name,border="green",col=c("red","blue","orange","yellow","green"),main="成绩") #绘制堆叠条形图 math <- c(78,92,89,61,95) english <- c(90,89,95,70,98) grade <- matrix(c(math,grade),2,5,byrow =TRUE) name <- c("小刚","小明","小花","小芳","小丽") barplot(grade,border="green",names.arg=name,main="成绩",xlab="姓名",ylab="成绩",legend=c("数学","英语"),beside=TRUE)
绘制饼状图
饼图是将各项的大小与各项总和的比例显示在一张饼中,以饼的大小来确定每一项的占比。饼图可以比较清楚的反映出部分与部分,部分与整体之间的比例关系,易于显示每组数据相对于总数的大小,而且显现方式直观。
R语言中,提供绘制饼图的函数是pie(),每一个扇形的角度与相应数据的数值大小成比例,使用正数作为向量输入。附加参数用于控制标签,颜色,标题等。
# 数据准备 info = c(1, 2, 4, 8) # 命名 names = c("Google", "Runoob", "Taobao", "Weibo") # 涂色(可选) cols = c("#ED1C24","#22B14C","#FFC90E","#3f48CC") # 计算百分比 piepercent = paste(round(100*info/sum(info)), "%") # 绘图 pie(info, labels=piepercent, main = "网站分析", col=cols, family='GB1') # 添加颜色样本标注 legend("topright", names, cex=0.8, fill=cols)
绘制3D饼图,需要安装R包plotrix
#install.packages("plotrix") library(plotrix) # 数据准备 info = c(1, 2, 4, 8) lbl <- c("London","New York","Singapore","Mumbai") pie3D(info,labels = lbl,explode = 0.1, main = "城市3D饼图")
- 绘制散点图
散点图通常是用来表示两个连续变量之间的关系,图中的每个点表示目标数据集中的每个样本。散点图通过散点的疏密程度表示两个特征的数量关系。
参数说明
x 横坐标 x 轴的数据集合
y 纵坐标 y 轴的数据集合
type:绘图的类型,p 为点、l 为直线, o 同时绘制点和线,且线穿过点 main 图表标题
xlab、ylab x 轴和 y 轴的标签名称
xlim、ylim x 轴和 y 轴的范围
axes 布尔值,是否绘制两个 x 轴