Hallo, All, I have a question about changing the height or scale of the y axis. When I use following two R codes, I can get two plots. Please look at the y axes, the number of indices (x1, x2, ?) on the y axis in the first plot is smaller than that in the second plot, and hence the space between any two indices in the first plot is wider than that in the second plot. As the number of indices increases, the space will vanish and the indices will overlap. I want to display all the indices on the y axis in the second plot, just look like that in the first plot. How to separate the indices on the y axis in the second plot? I guess maybe changing the height or scale of y axis is a way to solve my problem, but I failed to do it after several trails. Anybody can help me? Thank you in advance. Legen The first R code: x<-c("x1","x2","x3","x4","x5","x6","x7","x8","x9","x10") y<-sample(0:100,10,replace=F) d<-data.frame(y) rownames(d)<-x r<-nrow(d) i<-1:r plot(d$y,i,xlab="",ylab="",axes=F) axis(1) axis(2,at=i,labels=x) The second R code: x<-c("x1","x2","x3","x4","x5","x6","x7","x8","x9","x10", "x11","x12","x13","x14","x15","x16","x17","x18","x19","x20", "x21","x22","x23","x24","x25","x26","x27","x28","x29","x30", "x31","x32","x33","x34","x35","x36","x37","x38","x39","x40", "x41","x42","x43","x44","x45","x46","x47","x48","x49","x50", "x51","x52","x53","x54","x55","x56","x57","x58","x59","x60", "x61","x62","x63","x64","x65","x66","x67","x68","x69","x70", "x71","x72","x73","x74","x75","x76","x77","x78","x79","x80", "x81","x82","x83","x84","x85","x86","x87","x88","x89","x90", "x91","x92","x93","x94","x95","x96","x97","x98","x99","x100", "x101","x102","x103","x104","x105","x106","x107","x108","x109","x110", "x111","x112","x113","x114","x115","x116","x117","x118","x119","x120", "x121","x122","x123","x124","x125","x126","x127","x128","x129","x130", "x131","x132","x133","x134","x135","x136","x137","x138","x139","x140", "x141","x142","x143","x144","x145","x146","x147","x148","x149","x150", "x151","x152","x153","x154","x155","x156","x157","x158","x159","x160", "x161","x162","x163","x164","x165","x166","x167","x168","x169","x170", "x171","x172","x173","x174","x175","x176","x177","x178","x179","x180", "x181","x182","x183","x184","x185","x186","x187","x188","x189","x190", "x191","x192","x193","x194","x195","x196","x197","x198","x199","x200") y<-sample(0:300,200,replace=F) d<-data.frame(y) rownames(d)<-x r<-nrow(d) i<-1:r plot(d$y,i,xlab="",ylab="",axes=F) axis(1) axis(2,at=i,labels=x) -- View this message in context: http://www.nabble.com/change-the-height-or-scale-of-the-y-axis-tp24187351p24187351.html Sent from the R help mailing list archive at Nabble.com.
legen wrote:> > > I have a question about changing the height or scale of the y axis. When I > use following two R codes, I can get two plots. Please look at the y axes, > the number of indices (x1, x2, ?) on the y axis in the first plot is > smaller than that in the second plot, and hence the space between any two > indices in the first plot is wider than that in the second plot. As the > number of indices increases, the space will vanish and the indices will > overlap. I want to display all the indices on the y axis in the second > plot, just look like that in the first plot. How to separate the indices > on the y axis in the second plot? I guess maybe changing the height or > scale of y axis is a way to solve my problem, but I failed to do it after > several trails. Anybody can help me? Thank you in advance. > >You really put a lot of typing work into your example code, but it work, so it's fine. As a first attempt, put the following before the second plot(). par(las=1,cex=0.5) And think about the paper size. I suggest to have a look at lattice graphics for this type of work as a more elegant alternative. And Hadley Wickham can certainly tell you how to do this in ggplot47 -- View this message in context: http://www.nabble.com/change-the-height-or-scale-of-the-y-axis-tp24187351p24198429.html Sent from the R help mailing list archive at Nabble.com.
legen wrote:> Hallo, All, > > I have a question about changing the height or scale of the y axis. When I > use following two R codes, I can get two plots. Please look at the y axes, > the number of indices (x1, x2, ?) on the y axis in the first plot is smaller > than that in the second plot, and hence the space between any two indices in > the first plot is wider than that in the second plot. As the number of > indices increases, the space will vanish and the indices will overlap. I > want to display all the indices on the y axis in the second plot, just look > like that in the first plot. How to separate the indices on the y axis in > the second plot? I guess maybe changing the height or scale of y axis is a > way to solve my problem, but I failed to do it after several trails. Anybody > can help me? Thank you in advance. > > Legen > > The first R code: > x<-c("x1","x2","x3","x4","x5","x6","x7","x8","x9","x10") > y<-sample(0:100,10,replace=F) > d<-data.frame(y) > rownames(d)<-x > r<-nrow(d) > i<-1:r > plot(d$y,i,xlab="",ylab="",axes=F) > axis(1) > axis(2,at=i,labels=x) > > The second R code: > x<-c("x1","x2","x3","x4","x5","x6","x7","x8","x9","x10", > "x11","x12","x13","x14","x15","x16","x17","x18","x19","x20", > "x21","x22","x23","x24","x25","x26","x27","x28","x29","x30", > "x31","x32","x33","x34","x35","x36","x37","x38","x39","x40", > "x41","x42","x43","x44","x45","x46","x47","x48","x49","x50", > "x51","x52","x53","x54","x55","x56","x57","x58","x59","x60", > "x61","x62","x63","x64","x65","x66","x67","x68","x69","x70", > "x71","x72","x73","x74","x75","x76","x77","x78","x79","x80", > "x81","x82","x83","x84","x85","x86","x87","x88","x89","x90", > "x91","x92","x93","x94","x95","x96","x97","x98","x99","x100", > "x101","x102","x103","x104","x105","x106","x107","x108","x109","x110", > "x111","x112","x113","x114","x115","x116","x117","x118","x119","x120", > "x121","x122","x123","x124","x125","x126","x127","x128","x129","x130", > "x131","x132","x133","x134","x135","x136","x137","x138","x139","x140", > "x141","x142","x143","x144","x145","x146","x147","x148","x149","x150", > "x151","x152","x153","x154","x155","x156","x157","x158","x159","x160", > "x161","x162","x163","x164","x165","x166","x167","x168","x169","x170", > "x171","x172","x173","x174","x175","x176","x177","x178","x179","x180", > "x181","x182","x183","x184","x185","x186","x187","x188","x189","x190", > "x191","x192","x193","x194","x195","x196","x197","x198","x199","x200") > y<-sample(0:300,200,replace=F) > d<-data.frame(y) > rownames(d)<-x > r<-nrow(d) > i<-1:r > plot(d$y,i,xlab="",ylab="",axes=F) > axis(1) > axis(2,at=i,labels=x) > >Hi legen, Your problem centers about the fact that you have about 3 times the vertical scale on the second plot and 20 times the number of ticks and labels. You could make the second plot 3 times the height of the first one, and you would get approximately the same spacing of equal intervals, but the intervals on the second plot are likely to be about 1.5 times those of the first. I can't work out why you are trying to do what you say you want to do. Maybe some more explanation would help. Jim