繁体   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