0

sciplot の bargraph.CI を使用してプロットを作成しています。x 軸はカテゴリ変数を表すため、この変数の値は x 軸上のさまざまな位置の名前です。残念ながら、これらの名前は長いため、デフォルト設定では一部の名前が消えてしまいます。必要に応じて「\ n」を挿入して複数の行に分割することで、この問題を解決しました。これは基本的に機能しましたが、名前が複数行になっているため、x 軸に近すぎます。私はそれらを遠くに移動する必要があります。どのように?

mgp でこれを実行できることはわかっていますが、これは y 軸にも影響します。

barplot.CI への呼び出しで axisnames=FALSE を設定し、次に axis を使用して別の x 軸を作成できることを知っています。(実際、私はすでにそれを行っていますが、x 軸をデフォルトよりも長くするためだけです。以下のコードを参照してください。) 次に、x 軸に独自の mgp パラメータを与えることができます。 y 軸。しかし、私が知る限り、 axis() は順序変数または連続変数に対して適切に設定されており、カテゴリ変数に対してはうまく機能していないようです。いくつかいじった後、名前を正しい場所に配置することができませんでした(つまり、対応バーのすぐ下)

最後に、Hmisc の mgp.axis.labels を使用して x 軸の mgp のみを設定しようとしましたが、これはまさに私が望むものですが、私が知る限り、何の影響もありませんでした。

アイデア?これが私のコードです。

ylim    = c(0.5,0.8)
yticks  = seq(ylim[1],ylim[2],0.1)
ylab    = paste(100*yticks,"%",sep="")

bargraph.CI( 
    response    = D$accuracy,
    ylab        = "% Accuracy on Test",
    ylim        = ylim,
    x.factor    = D$training,
    xlab        = "Training Condition",
    axes        = FALSE
    )
axis(
    side        = 1,
    pos         = ylim[1],
    at          = c(0,7),
    tick        = TRUE,
    labels      = FALSE
    )
axis(
    side        = 2,
    tick        = TRUE,
    at          = yticks,
    labels      = ylab,
    las         = 1
    )
4

1 に答える 1

1

axiscateory で正常に動作しますが、正しい目盛り値をpos設定し、オフセット変換のパラメーターで再生する必要があります。ここではxvals、戻り値を使用して目盛りbargraph.CIを設定します。àxis

再現可能な例を次に示します。

ここに画像の説明を入力

library(sciplot)
# I am using some sciplot data 
dat <- ToothGrowth
### I create along labels
labels <- c('aaaaaaaaaa\naaaaaaaaaaa\nhhhhhhhhhhhhhhh',
          'bbbbbbbbbb\nbbbbbbbbbbb\nhhhhhhhhhhhhhh',
          'cccccccccc\nccccccccccc\ngdgdgdgdgd')
## I change factor labels
dat$dose <- factor(dat$dose,labels=labels)
ll <- bargraph.CI(x.factor = dose, response = len, data = dat,axisnames=FALSE) 
## set at to xvals
axis(side=1,at=ll$xvals,labels=labels,pos=-2,tick=FALSE)
于 2013-04-19T23:57:54.497 に答える