Base R 中的色盲無障礙顏色
Jesse John
2024年2月15日
現在眾所周知,與顏色相關的視力缺陷很常見。因此,我們需要在資料視覺化中使用色盲可以接受的顏色。
本文展示瞭如何為此目的使用 base R 的內建調色盤。
Base R 中的 Okabe-Ito 調色盤
Base R 帶有幾個內建的調色盤。可以使用命令 palette.pals()
檢視調色盤列表。
預設調色盤是 R4
。
內建調色盤列表包括 Okabe-Ito
調色盤。這已被確立為與顏色相關的視覺缺陷的合適調色盤。
Okabe-Ito 調色盤有九種顏色。我們可以使用 palette.colors()
函式檢視顏色的名稱。我們可以使用餅圖視覺化顏色。
示例程式碼:
# List the inbuilt color palettes.
palette.pals()
# List the colors in the Okabe-Ito palette.
palette.colors(NULL, "Okabe-Ito")
# Save the palette as a vector.
p = palette.colors(NULL, "Okabe-Ito")
# Visualize the colors.
# The order is anticlockwise, starting with black.
pie(rep(1, times=9), col=p, labels=p)
輸出:
> # List the inbuilt color palettes.
> palette.pals()
[1] "R3" "R4" "ggplot2" "Okabe-Ito"
[5] "Accent" "Dark 2" "Paired" "Pastel 1"
[9] "Pastel 2" "Set 1" "Set 2" "Set 3"
[13] "Tableau 10" "Classic Tableau" "Polychrome 36" "Alphabet"
> # List the colors in the Okabe-Ito palette.
> palette.colors(NULL, "Okabe-Ito")
black orange skyblue bluishgreen yellow blue
"#000000" "#E69F00" "#56B4E9" "#009E73" "#F0E442" "#0072B2"
vermillion reddishpurple gray
"#D55E00" "#CC79A7" "#999999"
在 Base R 中使用 Okabe-Ito 調色盤的三種方法
使用 Okabe-Ito(或任何其他)調色盤有三種方法。
- 使用
palette()
函式更改 R 會話的調色盤。 - 直接使用顏色而不改變會話調色盤。
- 建立一個新調色盤。我們可以使用現有調色盤或多個調色盤中的顏色,或任何其他顏色。
首先,我們將為 R 會話設定調色盤。
示例程式碼:
# Set the Okabe-Ito palette for the session.
palette("Okabe-Ito")
# Get the palette colors.
palette() # We do not get the names.
# See the colors with the names.
palette.colors(NULL, "Okabe-Ito")
# Use its colors by index position.
# Make a pie chart with 3 sections using colors at positions 1, 3, 5.
pie(c(1,1,1), col=c(1,3,5))
輸出:
其次,我們將直接使用 Okabe-Ito 調色盤。
示例程式碼:
# Reset the palette to the default, R4.
palette("default")
# We earlier saved the Okabe-Ito palette to a variable p.
p
# Make a pie chart using colors 1, 5 and 9 from this vector p.
pie(c(1,1,1), col=p[c(1,5,9)])
輸出:
第三,我們將從 Okabe-Ito 調色盤建立我們的調色盤。這一次,我們將使用顏色程式碼。
我們可以使用這種技術從任何調色盤或我們想要的任何其他顏色中選擇顏色。
示例程式碼:
# View the Okabe-Ito palette.
p
# Create a character vector of four color codes.
ch = c("#000000", "#56B4E9", "#F0E442", "#CC79A7")
# We can use the colors from our vector by position.
# OR we can set our vector of color codes as the palette for the session.
pie(c(1,1,1), col=ch[1:3]) # Use by position.
palette(ch) # Set the palette.
palette() # View the palette.
pie(c(1,1,1,1,1,1,1,1),col=palette()) # The colors are repeated in order.
輸出:
參考
請參閱 R 專案關於 R 中的新調色盤 的文章。此外,請參閱 palette
函式的文件。
作者: Jesse John