参考资料:R语言实战【第2版】
气泡图(bubble plot)用来展示三个定量变量间的关系:先创建一个二维散点图,然后用点的大小来代表第三个边变量的值。
我们可以使用symbols()函数来创建气泡图。该函数可以在指定的(x,y)坐标上绘制圆圈图、方形图、星型图、温度计图和箱线图。以绘制圆圈图为例:
symbols(x,y,circle=radius)
其中x、y和radius是需要设定的向量,分别表示x、y坐标和圆圈半径。
我们可能需要用面积而不是半径来表示第三个变量,那么按照圆圈半径的公式()变换即可:
symbols(x,y,circle=sqrt(z/pi))
其中,z为第三个要绘制的变量。
下面我们用mtcars数据集来绘制气泡图:x轴代表车重,y轴代表每加仑英里数,气泡大小代表发动机排量。代码如下:
attach(mtcars)
r=sqrt(disp/pi)
symbols(wt,mpg,circles =r,
inches=0.30,
fg="white",
bg="lightblue",
main="Bubble Plot with point size proportional to displacement",
ylab="Miles Per Gallon",
xlab="Weight of Car (lbs/1000)")
text(wt,mpg,rownames(mtcars),cex=0.6)
detach(mtcars)
选项inches是比例因子,控制着圆圈大小(默认最大圆圈是1英寸)。 text()函数是可选函数,此处用来添加各个汽车的名称。
一般来说,统计人员使用R语言时都倾向于避免使用气泡图,原因和避免使用饼图一样:相比长度的判断,人们对体积/面积的判断通常更困难。但气泡图在商业应用中非常受欢迎。