2017-08-25 130 views
2

我想根据它们的数量给ggplot2的geom_count绘制的点着色。颜色点根据它们在ggplot2中的发生次数geom_count

这是我到目前为止有:

ggplot(test3, aes(eleStart, eleLength)) + geom_count(aes(alpha=0.25, color= ..prop..)) + 
    scale_y_continuous(breaks=seq(0,130,5)) + 
    scale_x_continuous(breaks=seq(0,114)) + 
    theme(panel.grid.minor = element_blank()) 

现在我基本上只是想通过geom_count不是他们的比例计算的实际计数交换color=..prop..

TEST3数据框的样子:

# A tibble: 294 x 2 
# Groups: X1 [56] 
eleStart eleLength 
<int>  <int> 
1  0   3 
2  0   6 
3  0   7 
4  0   9 
5  0  11 
6  0  23 
7  0  25 
8  0  26 
9  0  26 
10  0  26 
# ... with 284 more rows 

回答

7

你可以通过它们与aescolor = ..n..一次出现色点。见如下例子:

ggplot(mtcars, aes(cyl, carb)) + geom_count(aes(color = ..n..)) 

enter image description here

知道所有可与..x..语法来访问计算的变量,你可以检查geom_*功能手册“计算变量”。对于geom_count,它看起来像:

已计算变量

n个观测的位置

点的道具%的该面板在该位置


如果您想要“将2个传说与彩色点合并为一个传说”,请尝试以下操作:

ggplot(mtcars, aes(cyl, carb)) + 
    geom_count(aes(color = ..n.., size = ..n..)) + 
    guides(color = 'legend') 

enter image description here

颜色是默认显示为彩条。这里,guides(color = 'legend')告诉ggplot将它显示为legend而不是单独的colorbar

+0

谢谢你,一个快速跟进的问题,是否有可能将2个传说合并成一个传说与彩色点? – voiDnyx

+0

@voiDnyx,当然。见编辑的答案。 – mt1022

2

如果您检查geom_count函数的帮助文件:help(geom_count),您将看到其计算变量列表。在该位置在面板点的

已计算变量

ň

若干意见的

位置

道具

%的

所以,你可以使用geom_count(aes(alpha=0.25, color= ..n..))根据一个位置上的观察数量进行上色,并按照该位置上的点数的百分比对上色进行上色。