ggplot XY散射 - 如何更改选择点的Alpha透明度?

Aks*_*ksR 2 alpha r scatter ggplot2

我有~14,000个XY对可以绘制,并ggplot2用于此.

由于积分很多,我不得不使用非常低的alpha=0.025.我想以不同的颜色突出显示7个XY点,并且更不透明,并且有一个附带的文本图例.

目前,我的7个特殊数据点的颜色没有显示,因为它们也在alpha=0.025.如何增加这些点的不透明度?

到目前为止我的语法是:

trial <- ggplot(df, aes(x = df$SeqIdentityMean, 
                        y = df$SeqIdentityStdDev,
                        color = factor(df$PfamA_ID))) + 
            geom_point(alpha=0.025) + 
            labs(title="Mean Vs. standard deviation of PfamA seed lengths", 
                 x="Average Length (aa)",
                 y="Standard  Deviation of Length (aa)") + 
            theme(legend.title=element_blank(),
                  legend.key=element_rect(fill='NA'))
Run Code Online (Sandbox Code Playgroud)

Pau*_*tra 5

只需在数据集中创建一个alpha列,并设置您想要突出的点alpha = 1:

library(ggplot2)
alpha_vector = rep(0.025, nrow(mtcars))
alpha_vector[c(3,6,8)] = 1
mtcars$alpha = alpha_vector
ggplot(mtcars, aes(x = wt, y = mpg)) + geom_point(aes(alpha = alpha))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

这里的诀窍是要意识到alpha只是另一种美学.

另外,我不会直接绘制14k点并依赖alpha,我只会使用2d binning.例如使用hexbin:

ggplot(mtcars, aes(x = wt, y = mpg)) + geom_hexbin()
Run Code Online (Sandbox Code Playgroud)