我的功能:
Fluorescence_Intensity <- function(X, MEAN, SD, METHOD){
if(METHOD=="rnorm"){
res <- rnorm(X, MEAN, SD)
}
if(METHOD=="dnorm"){
res <- dnorm(X, MEAN, SD)
}
if(METHOD=="qnorm"){
res <- qnorm(X, MEAN, SD, METHOD, LOWER.TAIL=NULL, LOG.P=NULL)
}
print(res)
}
我有為我生成直方圖的代碼:
hist(Fluorescence_Intensity(X=1000, MEAN=2, SD=1, METHOD="rnorm"),xlim=c(0,40),col=scales::alpha('gray70',.4),border=F)
hist((Fluorescence_Intensity(X=1000, MEAN=30, SD=1, METHOD="rnorm")),add=T,col=scales::alpha('gray70'),border=F)
我想糾正我的圖表,以便如圖所示,它們顯示平均綠色,直方圖在藍色的第 95 個百分位處截斷,以獲得更亮的直方圖,如圖所示。我不知道該怎么做,所以請幫我。我不需要彩色背景。

uj5u.com熱心網友回復:
這里有兩種方法。
第一個與我在對該問題的評論中所說的完全一樣。計算要繪制的統計資料,然后用 繪制垂直線abline。其余代碼幾乎是問題的復制和粘貼。
Fluorescence_Intensity <- function(X, MEAN, SD, METHOD){
if(METHOD=="rnorm"){
res <- rnorm(X, MEAN, SD)
}
if(METHOD=="dnorm"){
res <- dnorm(X, MEAN, SD)
}
if(METHOD=="qnorm"){
res <- qnorm(X, MEAN, SD, METHOD, LOWER.TAIL=NULL, LOG.P=NULL)
}
res
}
set.seed(2022) # make the code reproducible
x <- Fluorescence_Intensity(X = 1000, MEAN = 2, SD = 1, METHOD = "rnorm")
y <- Fluorescence_Intensity(X = 1000, MEAN = 30, SD = 1, METHOD = "rnorm")
x.bar <- mean(x)
y.bar <- mean(y)
x.q95 <- quantile(x, 0.95)
hist(x, xlim = c(0, 40), col = scales::alpha('gray70', 0.4), border = FALSE)
hist(y, add = TRUE, col = scales::alpha('gray70'), border = FALSE)
abline(v = c(x.bar, y.bar, x.q95), col = c("green", "green", "blue"), lwd = 2)

使用reprex v2.0.2創建于 2022-11-04
第二種方法繪制藍色背景矩形。
- 為每個變數創建一個
hist物件; hist直接從資料中獲取軸范圍,x 軸,這些物件的 y 軸范圍;- 打開具有正確尺寸的繪圖,但不繪制任何內容 (
type = "N"); - 繪制網格線;
- 繪制背景矩形;
- 最后是直方圖和垂直線。
請注意,直方圖代碼是問題代碼的簡化版本。上面我保持原樣,但不需要呼叫scales::alpha.
hx <- hist(x, plot = FALSE)
hy <- hist(y, plot = FALSE)
xlim <- range(c(x, y))
ylim <- c(0, max(hx$counts, hy$counts))
plot(1, type = "n", xlim = xlim, ylim = ylim)
grid()
rect(xlim[1] - 10, -10, x.q95, ylim[2] 10, col = scales::alpha('lightblue', 0.4), border = FALSE)
hist(x, add = TRUE, col = 'gray70', border = FALSE)
hist(y, add = TRUE, col = 'gray70', border = FALSE)
abline(v = c(x.bar, y.bar, x.q95), col = c("green", "green", "blue"), lwd = 2)

使用reprex v2.0.2創建于 2022-11-04
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/527262.html
標籤:r阴谋
