给出以下ggplot2图表:
ggplot(my_data, aes(colour=my_factor) +
geom_point(aes(x=prior, y=current)) +
facet_grid(gender ~ age)
我想使点的大小与先前/当前组合的my_factor的计数成比例。
ggplot(my_data, aes(colour=my_factor,
size=<something-here>(my_factor)) +
geom_point(aes(x=prior, y=current)) +
facet_grid(gender ~ age)
有什么想法吗?
==编辑==
这是一个基于mpg数据集的非常简单的例子。让我们将“great_hwy”定义为hwy&gt; 35,并且“great_cty”为cty&gt; 25:
mpg$great_hwy[mpg$hwy > 35] <-1
mpg$great_hwy[mpg$hwy <= 35] <-0
mpg$great_hwy <- factor(mpg$great_hwy)
mpg$great_cty[mpg$cty > 25] <- 1
mpg$great_cty[mpg$cty <= 25] <- 0
mpg$great_cty <- factor(mpg$great_cty)
如果我们对great_hwy和great_cty进行策划,它就不会告诉我们太多:
ggplot(mpg) + geom_point(aes(x=great_cty, y=great_hwy))
如何根据x / y点的数量使数据点更大?希望这可以解决它,但请让我知道。
答案 0 :(得分:20)
你当然可以通过计算外部ggplot来做到这一点,但ggplot的一个好处就是你可以在内部做很多这些统计!
使用上面的mpg示例:
ggplot(mpg) +
geom_point(aes(x=great_cty, y=great_hwy,
size=..count..), stat="bin")
答案 1 :(得分:0)
由于接受的答案使用了已弃用的功能,因此我会指出这个替代答案适用于ggplot2 1.0.1