代码之家  ›  专栏  ›  技术社区  ›  skan

更改绘图轴上记号的间距?

  •  73
  • skan  · 技术社区  · 14 年前

    如何更改绘图轴上刻度线的间距?

    rgl ?

    5 回复  |  直到 7 年前
        1
  •  98
  •   Community CDub    8 年前

    基本图形 (我的示例适用于x轴,但适用于y轴):

    1. par(xaxp = c(x1, x2, n)) plot(..., xaxp = c(x1, x2, n)) x1 x2 )最极端的记号和记号之间的间隔数( n ). 因此, n+1 是所画记号的数目。(这仅在不使用对数刻度时有效,对于使用对数刻度的行为,请参见 ?par

    2. 可以完全抑制轴的绘制,并在稍后使用添加记号 axis()
      plot(... , xaxt = "n") .
      那就打电话 轴() 具有 side , at labels : axis(side = 1, at = v1, labels = v2) . 与 v1 包含记号位置的向量(例如。, c(1, 3, 5) 如果轴的范围从0到6,并且需要三个标记),以及 v2 包含指定记号的标签的向量(必须与 ,例如。, c("group a", "group b", "group c") ). 看到了吗 ?axis my updated answer to a post on stats.stackexchange for an example of this method

        2
  •  31
  •   Gavin Simpson    14 年前

    对于基本图形,最简单的方法是停止打印函数绘制轴,然后自己绘制它们。

    plot(1:10, 1:10, axes = FALSE)
    axis(side = 1, at = c(1,5,10))
    axis(side = 2, at = c(1,3,7,10))
    box()
    
        3
  •  6
  •   Huy Nguyen    10 年前

    我有一个数据集,时间是x轴,强度是y轴。我需要首先删除所有默认轴,除了轴的标签:

    plot(Time,Intensity,axes=F)
    

    然后,我用以下内容重建绘图元素:

    box() # create a wrap around the points plotted
    axis(labels=NA,side=1,tck=-0.015,at=c(seq(from=0,to=1000,by=100))) # labels = NA prevents the creation of the numbers and tick marks, tck is how long the tick mark is.
    axis(labels=NA,side=2,tck=-0.015)
    axis(lwd=0,side=1,line=-0.4,at=c(seq(from=0,to=1000,by=100))) # lwd option sets the tick mark to 0 length because tck already takes care of the mark
    axis(lwd=0,line=-0.4,side=2,las=1) # las changes the direction of the number labels to horizontal instead of vertical.
    

    所以, at = c(...) 指定要放置记号的位置集合。我想把分数定在0,100,200,…,1000。 seq(from =...,to =...,by =...)

        4
  •  3
  •   Weather Vane    9 年前

    如果你不想让R加上小数或零,你可以用…axt阻止它画x轴或y轴或两者。然后,您可以添加自己的记号和标签:

    plot(x, y, xaxt="n")
    plot(x, y, yaxt="n")
    axis(1 or 2, at=c(1, 5, 10), labels=c("First", "Second", "Third"))
    
        5
  •  3
  •   not2qubit    6 年前

    Hmisc 包裹:

    包含许多有用的函数,用于数据分析、高级图形、实用程序操作、计算样本大小和幂的函数、导入和注释数据集、插补缺失值、高级制表、变量聚类、字符串操作、将R对象转换为LaTeX和html代码以及重新编码变量。

    library(Hmisc)    
    plot(...)
    minor.tick(nx=10, ny=10) # make minor tick marks (without labels) every 10th