ChatGPT解决这个技术问题 Extra ChatGPT

删除绘图轴值

我只是想知道是否有办法在 r-plot 图中摆脱轴值,分别是 x 轴或 y 轴。

我知道 axes = false 将摆脱整个轴,但我只想摆脱编号。


a
ars

删除 x 轴或 y 轴上的编号:

plot(1:10, xaxt='n')
plot(1:10, yaxt='n')

如果您还想删除标签:

plot(1:10, xaxt='n', ann=FALSE)
plot(1:10, yaxt='n', ann=FALSE)

但请记住,这些会删除整个轴......除非您使用 bty 设置将线条放置在轴所在的位置,否则那里将一无所有。默认值为 bty = 'o' ,因此通常在坐标轴所在的绘图周围会有一个框。但是使用 bty = 'n' 只会有一些点漂浮在空间中。
@RichieCotton 的下一个答案更好
R
Richie Cotton

使用基本图形,执行此操作的标准方法是使用 axes=FALSE,然后使用 Axis(或轴)创建自己的轴。例如,

x <- 1:20
y <- runif(20)
plot(x, y, axes=FALSE, frame.plot=TRUE)
Axis(side=1, labels=FALSE)
Axis(side=2, labels=FALSE)

晶格当量是

library(lattice)
xyplot(y ~ x, scales=list(alternating=0))

加一个格子解释!
L
LeeZamparo

@Richie Cotton 上面有一个很好的答案。我只能补充一点,这个 page 提供了一些示例。尝试以下操作:

x <- 1:20
y <- runif(20)
plot(x,y,xaxt = "n")
axis(side = 1, at = x, labels = FALSE, tck = -0.01)

y
yoshi

您还可以在情节中放置标签:

plot(spline(sub$day, sub$counts), type ='l', labels = FALSE)

你会收到警告。我认为这是因为标签实际上是一个参数,它被传递给绘图运行的子程序(轴?)。警告会弹出,因为它不是绘图函数的直接参数。


S
Stef

更改轴颜色以匹配背景,如果您正在动态修改背景,则需要同时更新轴颜色。 * 共享图片显示使用模拟数据的图形/绘图示例()

### Main Plotting Function ###
plotXY <- function(time, value){

    ### Plot Style Settings ###

    ### default bg is white, set it the same as the axis-colour 
    background <- "white"

    ### default col.axis is black, set it the same as the background to match
    axis_colour <- "white"

    plot_title <- "Graph it!"
    xlabel <- "Time"
    ylabel <- "Value"
    label_colour <- "black"
    label_scale <- 2
    axis_scale <- 2
    symbol_scale <- 2
    title_scale <- 2
    subtitle_scale <- 2
    # point style 16 is a black dot
    point <- 16 
    # p - points, l - line, b - both
    plot_type <- "b"

    plot(time, value, main=plot_title, cex=symbol_scale, cex.lab=label_scale, cex.axis=axis_scale, cex.main=title_scale, cex.sub=subtitle_scale, xlab=xlabel, ylab=ylabel, col.lab=label_colour, col.axis=axis_colour, bg=background, pch=point, type=plot_type)
}

plotXY(time, value)

https://i.stack.imgur.com/b6Fdz.png