2
我一直試圖生成散點圖,其中兩個級別的alpha應用於高於或低於分數閾值的點。要做到這一點,我存儲每個點的阿爾法值向量,item_alpha,數據幀中,並在我的電話提供這種載體作爲阿爾法的參數geom_point:Alpha未應用於ggplot scatterplot中的所有點
library(ggplot2);
library(scales);
one.data <- read.table("test.data", header = TRUE)
p1 <- ggplot(data = one.data)
p1 <- p1 + geom_point(aes(plot_X, plot_Y, colour = log10_p_value, size = plot_size, alpha = item_alpha))
p1 <- p1 + scale_colour_gradientn(colours = c("red", "yellow", "green", "blue"), limits = c(min(one.data$log10_p_value), max(one.data$log10_p_value)));
p1 <- p1 + geom_point(aes(plot_X, plot_Y, size = plot_size), shape = 21, fill = "transparent", colour = I (alpha ("black", 0.6)));
p1 <- p1 + scale_size(range=c(5, 30)) + theme_bw();
one.x_range = max(one.data$plot_X) - min(one.data$plot_X);
one.y_range = max(one.data$plot_Y) - min(one.data$plot_Y);
p1 <- p1 + xlim(min(one.data$plot_X) one.x_range/10,max(one.data$plot_X)+one.x_range/10);
p1 <- p1 + ylim(min(one.data$plot_Y)one.y_range/10,max(one.data$plot_Y)+one.y_range/10);
p1
然而,似乎阿爾法只適用於8個值較小的點,而其餘點則不透明。我已經諮詢了ggplot文檔,使用了示例並嘗試了其他一些主要產生各種錯誤的變體,我真的希望有人對此有所瞭解!提前致謝!
內容test.data的:
"plot_X" "plot_Y" "plot_size" "log10_p_value" "item_alpha"
5.326 3.194 4.411 -27.3093 0.6
-2.148 7.469 3.434 -12.3487 0.6
-6.14 -2.796 3.062 -22.8069 0.6
3.648 6.091 3.597 -15.5032 0.6
0.356 -6.925 3.95 -10.4754 0.6
5.532 -0.135 3.246 -19.2883 0.6
3.794 -2.279 3.557 -16.4438 0.6
-3.784 1.42 2.914 -17.9687 0.6
-7.645 -1.571 3.163 -12.4498 0.6
-1.526 -4.756 3.509 -10.8972 0.6
-6.461 2.293 2.962 -13.4306 0.6
-5.806 0.983 4.38 -24.5422 0.6
-3.592 0.769 2.971 -17.8119 0.6
0.127 3.572 3.603 -11.4277 0.6
-0.566 0.706 3.77 -13.0952 0.3
2.25 -2.604 0.845 -11.7949 0.3
-7.845 -0.927 3.21 -12.6408 0.3
1.084 -6.691 3.654 -10.7319 0.3
-3.546 6.46 2.994 -11.6777 0.3
-5.478 -0.645 4.256 -17.7344 0.3
-6.251 -0.418 4.273 -19.29 0.3
-3.855 5.969 3.236 -10.9057 0.3
0.345 0.971 3.383 -11.5973 0.6
0.989 0.345 2.959 -10.8252 0.6
謝謝!這工作很好! – user3396385