Remover valores do eixo de plotagem

153

Eu só estava me perguntando se existe uma maneira de se livrar dos valores do eixo, o eixo x ou o eixo y, respectivamente, em um gráfico de r-plot.

Eu sei que axes = falseisso se livrará de todo o eixo, mas eu gostaria apenas de me livrar da numeração.

user130633
fonte

Respostas:

195

Remova a numeração no eixo x ou no eixo y:

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

Se você deseja remover os rótulos também:

plot(1:10, xaxt='n', ann=FALSE)
plot(1:10, yaxt='n', ann=FALSE)
ars
fonte
3
mas lembre-se de que eles removem todo o eixo ... não haverá nada a menos que você use uma configuração bty que coloque as linhas onde estão seus eixos. O padrão é bty = 'o' e, portanto, normalmente haverá uma caixa ao redor do gráfico onde os eixos estariam. Mas com um bty = 'n' haveria apenas pontos flutuando no espaço.
John
66

Usando gráficos de base, a maneira padrão de fazer isso é usar eixos = FALSO, e criar seus próprios eixos usando Eixo (ou eixo). Por exemplo,

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

O equivalente da rede é

library(lattice)
xyplot(y ~ x, scales=list(alternating=0))
Richie Cotton
fonte
Mais um para a explicação da estrutura!
Zhubarb
19

@ Richie Cotton tem uma boa resposta acima. Só posso acrescentar que esta página fornece alguns exemplos. Tente o seguinte:

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

você também pode colocar etiquetas dentro da plotagem:

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

você receberá um aviso. Eu acho que isso é porque rótulos é realmente um parâmetro que está sendo transmitido para uma sub-rotina que o gráfico é executado (eixos?). o aviso será exibido porque não foi diretamente um parâmetro da função de plotagem.

yoshi
fonte
1

Altere a cor do eixo para corresponder ao fundo e, se você estiver modificando o fundo dinamicamente, precisará atualizar a cor do eixo simultaneamente. * A imagem compartilhada mostra o exemplo do gráfico / plot usando dados simulados ()

### 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)

insira a descrição da imagem aqui

Stef
fonte