簡體   English   中英

將希臘字母添加到R中的軸刻度標簽

[英]Add greek letters to axis tick labels in R

我有我的軸刻度:

axis(4,at=c(1.6526,1.9720,2.6009,3.3403),las=1)

現在我想標記它們。 文字應該是這樣的:

labels=c("alpha=0.1","alpha=0.05","alpha=0.01","alpha=.001")

但我希望alpha看起來像希臘字符。 謝謝!

您可以使用expression而無需使用paste

axis(4,at=c(0.75,1.75),labels=c(expression(alpha==0.1),expression(alpha==0.2)),las=1)

如果有一些標簽,手工制作這些都是可以的,但是很乏味而且沒有自動化。 有一些方法可以將單個表達式組合成表達式“vector”,並且我們可以自動構建單個表達式。 這是一種方法,我忘記了是否有其他方式,或者即使這是規范的方式(一般問題已經在StackOverflow [包括我!]之前被詢問和回答,但我在一個非常快速的搜索中找不到它)。

op <- par(mar = c(5,4,4,6) + 0.1)
plot(1:10)
axis(1)
labs <- lapply(alpha, function(x) bquote(alpha == .(x)))
axis(4, at = seq(1, by = 2, length = 5),
     labels = do.call(expression, labs), las = 1)
par(op)

哪個產生

在此輸入圖像描述

我把舞台分開了。 首先是

> labs <- lapply(alpha, function(x) bquote(alpha == .(x)))
> labs
[[1]]
alpha == 0.1

[[2]]
alpha == 0.05

[[3]]
alpha == 0.01

[[4]]
alpha == 0.005

[[5]]
alpha == 0.001

它產生一個調用列表。

第二步是將這些組合成一個表達式,我用do.call()

> do.call(expression, labs)
expression(alpha == 0.1, alpha == 0.05, alpha == 0.01, alpha == 
    0.005, alpha == 0.001)

你當然可以結合這些:

labs <- do.call(expression, lapply(alpha, function(x) bquote(alpha == .(x))))
axis(4, at = seq(1, by = 2, length = 5),
     labels = labs, las = 1)

暫無
暫無

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

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