0

scatterD3 library散布図を作成するためにRで(非常に目を楽しませてくれる)を使用しています。

私は自分を固定したいのですaxesが、そうすると自分pointsはもう中心にいません。これは私が対処できる小さな問題ですが、axes値のラベルを編集できれば問題を簡単に修正できます。

javascripthtmlwidgets知識は限られているため、私の質問:軸の値ラベルを編集する方法はありますか?

library(scatterD3)
xvar=cos(seq(0,2*pi,length.out=200))
yvar=sin(seq(0,2*pi,length.out=200))


scatterD3(x=xvar,y=yvar,fixed=TRUE)

move<-c(1,3)
scatterD3(x=xvar+move[1],y=yvar+move[2],fixed=TRUE)
# If I try to fix the axes' limits
scatterD3(x=xvar+move[1],y=yvar+move[2],xlim=c(-0.2,2.2),ylim=c(1.8,4.2),fixed=TRUE)

# I can put it in the origin and change the tooltip but the axes would be wrong
tooltips<-paste("xvar: ",xvar+move[1],"<br />","yvar: ",yvar+move[2])
scatterD3(x=xvar,y=yvar,fixed=TRUE,tooltip_text=tooltips)

編集 2016-11-24

xlim現在の開発版は、 とylim(3番目の例)を修正すると正常に動作します。散布図を中央に配置する基本的なrコードを含めます (問題がより明確になるように、円を楕円に変更しました)。また、 Juba の提案に従って githubで問題を開きました。

xvar=cos(seq(0,2*pi,length.out=200))
yvar=2*sin(seq(0,2*pi,length.out=200))
move<-c(1,3)
xvar=xvar+move[1]
yvar=yvar+move[2]
scatterD3(x=xvar,y=yvar,fixed=TRUE)

# margin included so the points are not just at the border
margin=0.02

#calculate xlim and ylim
xmin=min(xvar)
xmax=max(xvar)
xd=xmax-xmin
xmin=xmin-xd*margin
xmax=xmax-xd*margin

ymin=min(yvar)
ymax=max(yvar)
yd=ymax-ymin
ymin=ymin-yd*margin
ymax=ymax+yd*margin

if(xd>yd){
    ymin=ymin-(xd-yd)/2
    ymax=ymax+(xd-yd)/2
}else{
    xmin=xmin-(yd-xd)/2
    xmax=xmax+(yd-xd)/2
}

scatterD3(x=xvar,y=yvar,
          xlim=c(xmin,xmax),
          ylim=c(ymin,ymax),
          fixed=TRUE)

編集 2016-12-01

この問題は、Linux および Windows の現在の開発バージョンでは幸いにも修正されています (Mac で動作することは確かですが、テストはしていません)。ここで提案されているように閉鎖のフラグを立てるか、ここで提案されているように質問を削除する必要があるかわかりません。

4

0 に答える 0