0

私は簡単なプロット呼び出しを持っています:

cdplot(example~test)

軸のフォントを大きくしたいのですが。でも、

cdplot(example~test, cex=2.0)

動作しません、そして私はこれに対する解決策を見つけることができません。フォントサイズを大きくするにはどうすればよいですか?

4

2 に答える 2

8

この関数を使用してpar、問題を回避します。

#example data from ?cdplot:
fail <- factor(c(2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1,
                 1, 2, 1, 1, 1, 1, 1),
               levels = 1:2, labels = c("no", "yes"))
temperature <- c(53, 57, 58, 63, 66, 67, 67, 67, 68, 69, 70, 70,
                 70, 70, 72, 73, 75, 75, 76, 76, 78, 79, 81)

#save old parameters
old.par <- par(no.readonly = TRUE)
#change only the size of axis, for axis labels use cex.lab etc, see ?par
par(cex.axis=2)
cdplot(fail ~ temperature)
par(old.par) #restore old parameters

?cdplotの引数セクションから:

bw、n、from、to、...引数が密度に渡されます。

そして、?densityの引数セクションから:

...(デフォルト以外の)メソッドの追加の引数。

したがってcdplot(fail ~ temperature,cex.axis=2)、追加のパラメータ " ..."は、densityなどのグラフィカルパラメータとして使用しない関数によって使用されるため、使用できませんcex

于 2013-03-14T07:43:13.310 に答える
3

もう1つの方法は、cdplot関数をハックして、を設定することcex.axisです。ただし、ここでは単純な関数であっても、ハッキング関数は推奨しません。軸フォント機能を追加するには、パッケージメンテナに連絡することをお勧めします。

を使用し getS3method('cdplot','default')て関数ソースを取得し、この行を次のように変更します。

 Axis(xorig, side = 1,cex.axis=cex.x)
 equidist <- any(diff(y1[, 1L]) < tol.ylab)
 if (equidist) 
    axis(2, at = seq.int(1/(2 * ny), 1 - 1/(2 * ny), 
                           by = 1/ny), labels = yaxlabels, tick = FALSE,cex.axis=cex.y)
 else axis(2, at = (y1[-1L, 1L] + y1[-NROW(y1), 1L])/2, 
              labels = yaxlabels, tick = FALSE,cex.axis=cex.y)

新しい関数で新しい要点を作成します。

例えば:

my.cdplot(y=fail ,x=temperature,cex.x=2,cex.y=3)

ここに画像の説明を入力してください

于 2013-03-14T08:16:46.907 に答える