[R] x tick labels - sparse?
Darren Weber
darrenleeweber at gmail.com
Sat Aug 12 01:41:16 CEST 2006
Hi,
I'm stuck on creating a plot with x tick labels for every Nth tick
mark - how is that done? I don't see a simple solution to this in
help(plot) or help(par) and what I've tried is not working, eg, the
following does not work, although it seems intuitive to me that it
should work:
x <- seq(-100,1000,25)
y <- x * x
% find all the x values that are multiples of 100
tmp <- x / 100
tmp <- tmp %% 1
tmp <- tmp > 0
% set all other values to null strings
xtickLabels <- as.character( x )
xtickLabels[tmp] <- ""
plot(x, y, xlab=xtickLabels)
These commands look like this (the plot is not right):
> x <- seq(-100,1000,25)
> x
[1] -100 -75 -50 -25 0 25 50 75 100 125 150 175 200 225 250
[16] 275 300 325 350 375 400 425 450 475 500 525 550 575 600 625
[31] 650 675 700 725 750 775 800 825 850 875 900 925 950 975 1000
>
> tmp <- x / 100
> tmp
[1] -1.00 -0.75 -0.50 -0.25 0.00 0.25 0.50 0.75 1.00 1.25 1.50 1.75
[13] 2.00 2.25 2.50 2.75 3.00 3.25 3.50 3.75 4.00 4.25 4.50 4.75
[25] 5.00 5.25 5.50 5.75 6.00 6.25 6.50 6.75 7.00 7.25 7.50 7.75
[37] 8.00 8.25 8.50 8.75 9.00 9.25 9.50 9.75 10.00
>
> tmp <- tmp %% 1
> tmp
[1] 0.00 0.25 0.50 0.75 0.00 0.25 0.50 0.75 0.00 0.25 0.50 0.75 0.00 0.25 0.50
[16] 0.75 0.00 0.25 0.50 0.75 0.00 0.25 0.50 0.75 0.00 0.25 0.50 0.75 0.00 0.25
[31] 0.50 0.75 0.00 0.25 0.50 0.75 0.00 0.25 0.50 0.75 0.00 0.25 0.50 0.75 0.00
>
> tmp <- tmp > 0
> tmp
[1] FALSE TRUE TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE TRUE TRUE
[13] FALSE TRUE TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE TRUE TRUE
[25] FALSE TRUE TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE TRUE TRUE
[37] FALSE TRUE TRUE TRUE FALSE TRUE TRUE TRUE FALSE
>
> xtickLabels <- as.character( x )
> xtickLabels
[1] "-100" "-75" "-50" "-25" "0" "25" "50" "75" "100" "125"
[11] "150" "175" "200" "225" "250" "275" "300" "325" "350" "375"
[21] "400" "425" "450" "475" "500" "525" "550" "575" "600" "625"
[31] "650" "675" "700" "725" "750" "775" "800" "825" "850" "875"
[41] "900" "925" "950" "975" "1000"
>
> xtickLabels[tmp] <- ""
> xtickLabels
[1] "-100" "" "" "" "0" "" "" "" "100" ""
[11] "" "" "200" "" "" "" "300" "" "" ""
[21] "400" "" "" "" "500" "" "" "" "600" ""
[31] "" "" "700" "" "" "" "800" "" "" ""
[41] "900" "" "" "" "1000"
>
> y <- x * x
> y
[1] 10000 5625 2500 625 0 625 2500 5625 10000
[10] 15625 22500 30625 40000 50625 62500 75625 90000 105625
[19] 122500 140625 160000 180625 202500 225625 250000 275625 302500
[28] 330625 360000 390625 422500 455625 490000 525625 562500 600625
[37] 640000 680625 722500 765625 810000 855625 902500 950625 1000000
>
> plot(x, y, xlab=xtickLabels)
>
Thanks in advance.
Best, Darren
More information about the R-help
mailing list