簡體   English   中英

將刻度顏色更改為 R 中的特定數字

[英]Changing scale colour to specific number in R

我已將我的數據上傳到 github: https://github.com/dschmidt42/Benguela_Chla_Danielle_Schmidt

設置我的數據:

chl_data <- "cmems_mod_glo_bgc_my_0.25_P1M-m_1673881119174.nc"
r <- rast(chl_data)
i <- seq(1, nlyr(r), 3) 
r1 <- r[[i]]
vm <- tapp(r1, "months", var)

以下是結果圖:

titles <- c("January", "February", 
            "March", "April", 
            "May", "June", 
            "July", "August", 
            "September", "October",
            "November", "December")
plot(vm, main = titles)

在此處輸入圖像描述

正如您所看到的,盡管它們具有不同的值,但比例都是相同的。 我怎樣才能改變它,使一張圖表上的 4.0 與另一張圖表上的 1.5 不同?

您可以嘗試手動設置中斷並將柵格類型設置為連續。

library(terra)
plot(vm, 
     main = titles,
     type = "continuous",
     breaks = seq(0,4,0.5))

確實應該有一種簡單的方法來指定您想要的,但是現在,一個快速的解決方案是

rr <- range(minmax(vm))
plot(vm, range=rr, main=month.name)

一個更復雜的解決方案是

m <- cbind(matrix(1:12, ncol=4, byrow=TRUE), 13)
layout(m, c(1,1,1,1,.3))
for (i in 1:12) {
    plot(vm[[i]], legend=i==8, range=rr, mar=c(1,1,1,1), plg=list(cex=1.2))
    text(20,-17,month.abb[i])
}

和更多:

m <- cbind(matrix(1:12, ncol=4, byrow=TRUE), 13)
layout(m, c(1, 1, 1, 1, .5))
par(mgp = c(2, .25, 0))
for (i in 1:12) {
    plot(vm[[i]], legend=i==8, range=rr, mar=c(1.2,1.2,.2,0), plg=list(cex=1.2), axes=FALSE)
    if (i %in% c(1,5,9)) axis(2, las=1, cex.axis=0.7)
    if (i > 8) axis(1, cex.axis=0.7)
    box()
    text(19,-17,month.abb[i])
}

在此處輸入圖像描述

刪除空格(同時保留外軸),並使用日志獲得更多對比度

lvm <- log(vm)
lrr <- range(minmax(lvm))
m <- matrix(1:12, ncol=4, byrow=TRUE)
m <- rbind(m, 14)
m <- cbind(14, m, 13)

layout(m, c(0.2, 1, 1, 1, 1, .5), c(1,1,1,0.1))
par(mgp = c(2, .25, 0))
for (i in 1:12) {
    plot(lvm[[i]], legend=i==8, range=lrr, mar=c(0,0,0,0), plg=list(cex=1.2), axes=FALSE)
    if (i %in% c(1,5,9)) axis(2, las=1, cex.axis=0.7)
    if (i > 8) axis(1, cex.axis=0.7)
    box()
    text(19,-17,month.abb[i])
}

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM