Я хочу построить график из 4 наборов точек данных, используя двойную ось Y.Первые два находятся на левой оси Y, а последние два на правой оси Y.Первые два относятся к ряду чисел в диапазоне от 5000 до 50000.Вторые два набора данных принадлежат диапазону от 1 до 100.Я хочу построить это так, чтобы было легко заметить, что две оси находятся не только в разных масштабах, но и высота между точками из двух разных наборов с разными диапазонами, очевидно, велика.Я не хочу рисовать горизонтальную линию, которая предполагает, что некоторое число от левой оси Y может быть биективно отображено на некоторое число на правой оси Y.Я хочу сделать так, чтобы горизонтальная линия, проходящая через любые точки от левой оси y и правой оси y, принадлежала только одному набору, связанному с левой или правой осью.
Как построить график с двумя разными осями Y? .Есть
Я бы использовал twoord.plot Из plotrix v3.7-5 Джима Лемона, но у этого есть недостаток, чем у base R, потому что я не могу добавить 4 набора данных в один график.Я могу использовать только 2 набора (x, y) пар с 2-ординатным графиком.Я могу теоретически построить n наборов (x, y) пар, используя базу R.
Нет
Вот что не работает:
time <- seq(0,72,12)
betagal.abs <- c(0.05,0.18,0.25,0.31,0.32,0.34,0.35)
cell.density <- c(0,1000,2000,3000,4000,5000,6000)
## add extra space to right margin of plot within frame
par(mar=c(5, 4, 4, 6) + 0.1)
## Plot first set of data and draw its axis
plot(time, betagal.abs, pch=16, axes=FALSE, ylim=c(0,1), xlab="", ylab="",
type="b",col="black", main="Mike's test data")
axis(2, ylim=c(0,1),col="black",las=1) ## las=1 makes horizontal labels
mtext("Beta Gal Absorbance",side=2,line=2.5)
box()
## Allow a second plot on the same graph
par(new=TRUE)
## Plot the second plot and put axis scale on right
plot(time, cell.density, pch=15, xlab="", ylab="", ylim=c(0,7000),
axes=FALSE, type="b", col="red")
## a little farther out (line=4) to make room for labels
mtext("Cell Density",side=4,col="red",line=4)
axis(4, ylim=c(0,7000), col="red",col.axis="red",las=1)
## Draw the time axis
axis(1,pretty(range(time),10))
mtext("Time (Hours)",side=1,col="black",line=2.5)
## Add Legend
legend("topleft",legend=c("Beta Gal","Cell Density"),
text.col=c("black","red"),pch=c(16,15),col=c("black","red"))