簡體   English   中英

如何從plotrix包中修改雙向圖中x軸文本的大小?

[英]How to modify the size of the x axis text in a twoord plot from the plotrix package?

我想制作一個雙向圖,我想減小x軸上文本的大小。 所以我正在尋找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)

但是每個標簽的尺寸太大而且並非所有標簽都顯示出來。 我怎么能糾正這個? 提前謝謝了。

縱觀page(twoord.plot)我們看到,在twoord.plotplot被調用,參數axes是-already-設置為FALSE和軸通過調用內置axis 所以, xaxt不會有任何影響。

但是,在代碼中寫的是: axis(1, ... **cex** = axilsab.cex 。但是在axis設置cex不會產生預期的效果;應該使用cex.axis代替但是,對於軸2和4,通過調用mtext來使用axilslab.cex參數。例如mtext(axat, 2... cex = axislab.cex ;這里cex (在mtext )具有所需的效果。

最后,您可以編寫一個函數twoord.plot2 ,你改變cex參數cex.axis調用時axis(1... 。然后通過調用運行代碼twoord.plot2 。即axis(1,... **cex.axis** = axislab.cex)

編輯

我將在原始的twoord.plot中添加一個x_axislab.cex參數,以便更改x軸'標記的大小:

從文本編輯器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軸'刻度線的大小。

暫無
暫無

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

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