在scatterD3中保持固定轴图表的中心焦点,我可以编辑轴值标签吗?

时间:2016-10-26 08:28:29

标签: r d3.js scatter-plot htmlwidgets

我在R中使用library axes(我觉得非常令人愉悦)来创建散点图。

我希望我的points保持不变,但是当我这样做时,我的axes不再是中心。这是我可以忍受的一个小问题,但是,如果可以编辑javascript值标签,我可以轻松解决问题。

我的htmlwidgetslibrary(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) 知识有限,因此我的问题是:有没有办法编辑轴值标签?

xlim

编辑2016-11-24

当修复ylimr(第3个示例)时,当前的开发版本可以正常运行。我包含了一个基本的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) 代码,它以散点图为中心(将圆圈更改为椭圆,因此问题更加明显)。此外,我按照朱巴的建议在github中打开了issue

if(model.SelectedSystemId == null)
{
    model.SelectedSystemId = model.Systems.First().Value;
}

model.Entries = _svc.getLogsByHostName(model.SelctedSystemId).ToList();

const int PageSize = 20;
var PageNumber = page ?? 1;
model.Entries = model.Entries.ToPageList(PageNumber, PageSize).ToList();
reurn View(model);

编辑2016-12-01

在Linux和Windows下的当前开发版本中很高兴解决了这个问题(我很确定它适用于Mac,但我还没有测试过它)。 我不知道是否应按照建议here标记关闭,或删除建议here的问题。

0 个答案:

没有答案