我有一个排名值的数据框,按降序排列。当然,当这些在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")
答案 0 :(得分:1)
要获得你想要的东西,你需要三个步骤:
下面的代码完成了这三件事。
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}!#")