气泡图是一种图表类型,它允许你在一个数据集中同时显示三个变量。
前两个变量被用作散点图上的(x,y)坐标,第三个变量被用来描述大小。
你可以使用以下基本语法在R中创建一个气泡图:
library(ggplot2)
#create bubble chart
ggplot(df, aes(x=x_var, y=y_var, size=size_var)) +
geom_point(alpha=0.5) +
scale_size(range=c(2, 10), name='Legend Name')
下面的例子展示了如何在实践中使用这种语法来创建一个气泡图。
注意:alpha参数指定图表中的圆圈应该是部分透明的。范围参数允许你为图表中的圆设置最小和最大半径值。
例子:在R中创建一个气泡图
假设我们在R中拥有以下数据框,其中包含各种篮球运动员的信息:
#create data frame
df <- data.frame(team=c('A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'),
points=c(8, 11, 13, 13, 15, 18, 22, 27, 32),
assists=c(4, 3, 6, 5, 4, 7, 8, 11, 6),
minutes=c(9, 12, 15, 20, 36, 30, 31, 40, 43))
#view data frame
df
team points assists minutes
1 A 8 4 9
2 A 11 3 12
3 A 13 6 15
4 B 13 5 20
5 B 15 4 36
6 B 18 7 30
7 C 22 8 31
8 C 27 11 40
9 C 32 6 43
我们可以使用下面的语法来创建一个气泡图,在X轴上显示助攻,在Y轴上显示分数,并使用分钟来决定圆圈的大小:
library(ggplot2)
#create bubble chart
ggplot(df, aes(x=assists, y=points, size=minutes)) +
geom_point(alpha=0.5) +
scale_size(range=c(2, 10), name='Minutes Played')

你可以通过使用geom_point()函数中的颜色参数来改变所有圆圈的颜色。
library(ggplot2)
#create bubble chart with blue circles
ggplot(df, aes(x=assists, y=points, size=minutes)) +
geom_point(alpha=0.5, color='steelblue') +
scale_size(range=c(2, 10), name='Minutes Played')

另外,你也可以在aes()中使用颜色参数,使每个圆的颜色基于数据框中另一个变量的值。
library(ggplot2)
#create bubble chart and color circles based on value of team variable
ggplot(df, aes(x=assists, y=points, size=minutes, color=team)) +
geom_point(alpha=0.5) +
scale_size(range=c(2, 10), name='Minutes Played')

图中每个圆圈的颜色现在取决于团队变量的值。
注意:请自由发挥范围参数中的最小值和最大值,以增加或减少图中圆圈的大小。