Setting alpha is pretty simple with the adjustcolor function:
COL <- adjustcolor(c("red", "blue", "darkgreen")[iris$Species], alpha.f = 0.5) plot(iris$Sepal.Length, iris$Petal.Length, col = COL, pch = 19, cex = 1.5)

Displaying an alpha variable requires a bit more hacking:
# Allocate Petal.Length to 7 length categories seq.pl <- seq(min(iris$Petal.Length)-0.1,max(iris$Petal.Length)+0.1, length.out = 7) # Define number of alpha groups needed to fill these cats <- nlevels(cut(iris$Petal.Length, breaks = seq.pl)) # Create alpha mapping alpha.mapping <- as.numeric(as.character(cut(iris$Petal.Length, breaks = seq.pl, labels = seq(100,255,len = cats)))) # Allocate species by colors COLS <- as.data.frame(col2rgb(c("red", "blue", "darkgreen")[iris$Species])) # Combine colors and alpha mapping COL <- unlist(lapply(1:ncol(COLS), function(i) { rgb(red = COLS[1,i], green = COLS[2,i], blue = COLS[3,i], alpha = alpha.mapping[i], maxColorValue = 255) })) # Plot plot(iris$Sepal.Length, iris$Petal.Length, col = COL, pch = 19, cex = 1.5)

Mikko source share