在不牺牲动画的情况下在 rCharts 中反转轴?

Reverse Axis in rCharts Without Sacrificing Animation?

我有一个按降序排列的值的数据框。自然地,当这些在 rCharts 中沿 Y 轴绘制时,较低的实际值 (1,2,3...) 位于轴的底部并从那里向上。因为我列出了排名值,所以我希望顺序颠倒:不是从低(轴底部)到高(顶部),我希望它从高(轴底部)到低(最佳)。

我已经可以使用以下方法完成此操作:

rankPlot$chart( yDomain = c(35,1) )

问题在于,这会手动修复 Y 轴值,这意味着当删除或添加某些值时,轴将不再像 Y 轴未固定时那样动态调整自身。

所以问题是:是否有一种简单的方法可以反转轴上的值而不需要手动修复它们?

更新:这是我用来渲染情节的代码:

> rankPlot <- nPlot(
+     Rank ~ Date, 
+     data = lang.rank.hist.m, 
+     group = "Language",
+     type = "lineChart")

要得到你想要的,你需要三个步骤:

  1. 用rank的负值创建一个辅助变量
  2. 调整您的工具提示
  3. 调整 y 轴

下面的代码完成了这三件事。

library(rCharts)

lang.rank.hist.m=data.frame(Date=rep(1:4,2),Rank=1:8,Language=c(rep("A",4),rep("B",4)))

# create an auxiliar variable with the inverse order
lang.rank.hist.m$neg.rank=-lang.rank.hist.m$Rank

rankPlot <- nPlot(
  neg.rank ~ Date, 
     group = "Language",
      data = lang.rank.hist.m, 
         type = "lineChart")

# rewrite the tooltip
rankPlot$chart(tooltipContent = "#! function(key, val, e, graph){
return '<h3>' + '<font color=blue>'+ key +'</font>'+ '</h3>' + '<p>'+ val +
               '</p>' + '<p>'+  graph.point.Rank } !#")

# adapt the yaxis
rankPlot$yAxis(tickFormat = "#!function (x) {    
return -x}!#")