ฉันจะให้ความคิดเกี่ยวกับข้อมูลของคุณและฉันคิดว่ามันควรจะง่ายกว่าที่จะเข้าใจสิ่งที่ฉันพยายามที่จะบรรลุ
Repex:
ID <- c(1, 1, 2, 3, 3, 3)
cat <- c("Others", "Others", "Population", "Percentage", "Percentage", "Percentage")
logT <- c(2.7, 2.9, 1.5, 4.3, 3.7, 3.3)
m <- c(1.7, 1.9, 1.1, 4.8, 3.2, 3.5)
aggr <- c("median", "median", "geometric mean", "mean", "mean", "mean")
over.under <- c("overestimation", "overestimation", "underestimation", "underestimation", "underestimation", "underestimation")
data <- cbind(ID, cat, logT, m, aggr, over.under)
data <- data.frame(data)
data$ID <- as.numeric(data$ID)
data$logT<- as.numeric(data$logT)
data$m<- as.numeric(data$m)
รหัส:
Fig <- data %>% ggplot(aes(x = logT, y = m, color = over.under)) +
facet_wrap(~ ID) +
geom_point() +
scale_x_continuous(name = "log (True value)", limits=c(1, 7)) +
scale_y_continuous(name = NULL, limits=c(1, 7)) +
geom_abline(intercept = 0, slope = 1, linetype = "dashed") +
theme_bw() +
theme(legend.position='none')
Fig
ฉันต้องการที่จะติดป้ายแกน Y aggr
ของแต่ละกราฟที่มีค่าของ ดังนั้นสำหรับ ID 1 ควรบอกว่ามัธยฐานสำหรับค่าเฉลี่ยเรขาคณิต ID 2 และค่า ID 3
ฉันลองหลายสิ่ง:
mtext(data1$aggr, side = 2, cex=1) #or
ylab(data1$aggr) #or
strip.position = "left"
แต่มันไม่ทำงาน
ฉันพยายามเพิ่มcat
มุมบนซ้ายของกราฟด้วย ดังนั้นสำหรับ ID 1 "อื่น ๆ " ID 2 "ประชากร" และ ID 3 "เปอร์เซ็นต์" ฉันพยายามทำงานด้วยlegend()
แต่ก็ยังไม่สามารถแก้ปัญหาได้เช่นกัน