web-dev-qa-db-ja.com

プロット軸のタイトルの特殊文字と上付き文字

特殊文字と上付き文字の両方でy軸のタイトルを作成しようとしています。これを行うことはできますが、閉じ括弧を上付きにしないようにします。それが私が問題を抱えていることです。私はそれが私の括弧の単なる配置であると思うが、私は(一見)すべてを試した。

plot(WatexCl, ConcuM, col = as.numeric(1), pch = as.numeric(Depth), 
   xlab = expression(paste("Concentration Cl  ( ", mu, "moles/g dry wt)")), 
   ylab = expression(paste("Average Conc of S- on plates ( ", mu, "Moles/cm"^"2"),)), 
   data = plates)
40
Valerie S

ユーザーがよく把握できないことの1つは、プロットラベルの式で使用する場合、常に文字列とpasteを一緒に引用する必要がないことです。通常、レイアウトツールを直接使用する方が簡単です(例:~および*)。例えば:

df <- data.frame(y = rnorm(100), x = rnorm(100))

plot(y ~ x, data = df,
     ylab = expression(Average ~ Conc ~ of ~ S- ~ on ~ plates ~ 
                       (mu ~ Moles ~ cm^{-2} ~ dry ~ wt)),
     xlab = expression(Concentration ~ Cl ~ (mu ~ moles ~ g^{-1} ~ dry ~ wt)))

または、テキストの長いセクションの文字列を含めることができます。この場合、おそらく間違いなく簡単です。

plot(y ~ x, data = df,
     ylab = expression("Average Conc of S- on plates" ~
                         (mu ~ moles ~ cm^{-2} ~ "dry wt")),
     xlab = expression("Concentration Cl" ~ (mu ~ moles ~ g^{-1} ~ "dry wt")))

ただし、paste文字列やその他の機能はここでは必要ありません。

両方が生成します:

enter image description here

Plotmathには上付き文字2の問題があることに注意してください。y軸の余白に追加のスペースを追加して、それに対応することができます。

op <- par(mar = c(5,4.5,4,2) + 0.1)
plot(y ~ x, data = df,
     ylab = expression("Average Conc of S- on plates" ~
                          (mu ~ moles ~ cm^{-2} ~ "dry wt")),
     xlab = expression("Concentration Cl" ~ (mu ~ moles ~ g^{-1} ~ "dry wt")))
par(op)

生産

enter image description here

66
Gavin Simpson

これにより、上付きの閉じ括弧の問題が解決されます。

# reproducible data
plates <- data.frame(WatexCl = rnorm(100), ConcuM = rnorm(100), Depth = rnorm(100))

# alter the default plot margins so the 
# superscript in the y-axis label is completely displayed
par(mar=c(5,5,4,2))

# draw the plot
plot(WatexCl ~ ConcuM, data = plates,
     col = as.numeric(1), 
     pch = as.numeric(Depth), 
     xlab = bquote("Concentration Cl ("*mu~"moles/g dry wt)"), 
     ylab = bquote("Average Conc of S- on plates ("~mu~"Moles/cm"^"2"*")"))

enter image description here

7
Ben