0

x 軸のテキストのサイズを小さくしたい 2 つのプロットを作成したいと思います。だから私は cex.axis に代わるものを探しています。cexlab.axis を使用してみましたが、y 軸の値が変更されます。また、x 軸を完全に抑制してから、指定して x 軸をカスタマイズしようとしました

    twoord.plot(lx=1:96, ly=mean_aod, rx=1:96, ry=tot_FCH,type=c("b","bar"),xaxt="n")
    axis(1, at = seq(1, 96, by = 1),srt=45, cex.axis=0.5)

しかし、これは twoord.plot によってプロットされたデフォルトのラベルを取り除きません。基本的に、x 軸のラベルは、96 個の目盛りのそれぞれで 1 から 96 にします。これに最も近いのは、1 から 96 までの可変月を指定して、以下のコードを実行することです。

   twoord.plot(lx=1:96, ly=mean_aod, rx=1:96, ry=tot_FCH,type=c("b","bar"), xticklab=month)

しかし、各ラベルのサイズが大きすぎて、すべてのラベルが表示されません。どうすればこれを修正できますか? よろしくお願いします。

4

1 に答える 1

2

がいつ呼び出されたpage(twoord.plot)かを見ると、引数はすでに に設定されており、軸は を呼び出すことによって構築されています。では、何の効果もありません。twoord.plotplotaxesFALSEaxisxaxt

ただし、コードには次のように記述されていますaxis(1, ... **cex** = axilsab.cex。しかし、設定cexaxisても望ましい効果は得られません。cex.axis代わりに使用する必要があります。ただし、軸 2 と 4 の場合、axilslab.cex引数は を呼び出すことによって使用されmtextます。例mtext(axat, 2... cex = axislab.cex; ここcex(内側mtext) には望ましい効果があります。

結論として、 を呼び出すときに引数をにtwoord.plot2変更する関数を作成できます。そして、 を呼び出してコードを実行します。すなわち。cexcex.axisaxis(1...twoord.plot2axis(1,... **cex.axis** = axislab.cex)

編集

x 軸の目盛りのサイズのみを変更するためにx_axislab.cex、オリジナルに引数を追加します。twoord.plot

page(twoord.plot)テキスト エディタでからすべてをコピーして貼り付け、名前を付けtwoord.plot2ます。次に、追加の引数を追加して、関数の本体を変更します。

twoord.plot2 <- #function (lx, ly, rx, ry, data = NULL, xlim = NULL, lylim = NULL, 
    #rylim = NULL, mar = c(5, 4, 4, 4), lcol = 1, rcol = 2, xlab = "", 
    #ylab = "", rylab = "", lpch = 1, rpch = 2, type = "b", xtickpos = NULL, 
    #xticklab = NULL, halfwidth = 0.4, axislab.cex = 1, 
   **x_axislab.cex = 1**, # do.first = NULL, 
   # ...)  #add argument `x_axislab.cex = 1` in the arguments of the original `twoord.plot`
#{
 #   if (!is.null(data)) {
 #       ly <- unlist(data[ly])

 #...everything else...

 #if (is.null(xticklab)) 
       axis(1, **cex.axis = x_axislab.cex**) #change here. it was **cex = axislab.cex**
  #  else {
 #if (is.null(xtickpos)) 
 #xtickpos <- 1:length(xticklab)
 #  if (is.null(xticklab)) 
  #     xticklab <- xtickpos
    axis(1, at = xtickpos, labels = xticklab, **cex.axis = x_axislab.cex**) #change here. it was **cex = axislab.cex**

 #.....everything else...

次に、関数をコピーして貼り付け、R次のように実行します。

twoord.plot2(...other arguments..., x_axislab.cex = 0.8)

データをプロットし、x 軸の目盛りのサイズを変更します。

于 2013-10-18T13:41:29.697 に答える