次の図のように、2つのスケールでx軸を描画したいと思います。
3 に答える
9
ggplot2
バージョンは次のようになります。
library(ggplot2)
x = c(1,2,3,4,5, 10,20,30,40,50)
y = c(1,2,2,3,4, 2,1,3,5,5)
# You should introduce cond - condition to separate axises - by yourself
df = data.frame(x=x,y=y,cond=ifelse(x>5,"x2","x1"))
ggplot(df, aes(x,y,group=cond)) + geom_line() + geom_point(aes(shape=cond), size=4) + facet_grid(.~cond, scales="free_x")
これはこのプロットを生成します:
于 2012-11-13T08:37:59.500 に答える
7
これはベースRグラフィックを使用したバージョンです。おそらくもう少し遊んで、思い通りの物を手に入れることができますが、これは基本的にあなたが求めているものです。
plot.new()
par(mfcol=c(1,2))
plot(1:5,ann=FALSE,bty="n",type="l",ylim=c(0,25))
grid(ny=NA)
par(mar=c(5.1, 0, 4.1, 2.1))
plot(c(10,20,30,40,50),c(8,5,15,20,20),yaxt="n",ann=FALSE,bty="n",type="l",ylim=c(0,25))
grid(ny=NA)
par(new=TRUE)
par(mfcol=c(1,1))
par(bty="l")
par(mar=c(5.1, 4.1, 4.1, 2.1))
plot(NA,ylim=c(0,25),type="n",xaxt="n",yaxt="n",ann=FALSE)
box()
grid(nx=NA,ny=NULL)
編集-それを少しひったくりました
于 2012-11-13T08:01:27.087 に答える
1
完全にはわかりませんが、出発点として、を見て?facet_grid()
くださいggplot2
。
2つのプロットを並べて取得するのはそれほど難しいことではありません。次に、軸をオフにしてから、適切なスケールを追加し直したいと思うでしょう。
Googleに質問するaxis.line = theme_blank()
于 2012-11-13T05:54:14.333 に答える