【发布时间】:2014-02-18 14:23:54
【问题描述】:
我正在使用 rCharts 在 R 中创建交互式散点图。以下代码可以正常工作:
library(rCharts)
test.df <- data.frame(x=sample(1:100,size=30,replace=T),
y=sample(10:1000,size=30,replace=T),
g=rep(c('a','b'),each=15))
n1 <- nPlot(y ~ x, group="g", data=test.df, type='scatterChart')
n1
我需要对 X 轴和 Y 轴使用对数刻度。如何在不破解生成的 html/javascript 的情况下在 rCharts 中指定这一点?
更新 1: 我试图用 rCharts 绘制的更真实和静态的情节版本:
set.seed(2935)
y_nbinom <- c(rnbinom(n=20, size=10, mu=90), rnbinom(n=20, size=20, mu=1282), rnbinom(n=20, size=30, mu=12575))
x_nbinom <- c(rnbinom(n=20, size=30, mu=100), rnbinom(n=20, size=40, mu=1000), rnbinom(n=20, size=50, mu=10000))
x_fixed <- c(rep(100,20), rep(1000,20), rep(10000,20))
realp <- rep(0:2, each=2) * 20 + sample(1:20, size=6, replace=F)
tdf <- data.frame(y = c(y_nbinom,y_nbinom,y_nbinom[realp]), x=c(x_fixed,x_nbinom,x_nbinom[realp]), type=c(rep(c('fixed','nbinom'),each=60), rep('real',6)))
with(tdf, plot(x, y, col=type, pch=19, log='xy'))
【问题讨论】:
-
您只想绘制
log(x)与log(y)的对比图吗?最简单的方法是直接转换数据。 -
@Ramnath 感谢您的回复。我将此解决方案作为最后的手段。我更喜欢变换轴上的非变换值——我想利用这个图的交互能力通过打开和关闭它们来引起人们对组间差异的注意;而且听众直接看到未转换的值会比在听的时候计算exp更容易......
-
您能否提供一个静态图,以便我了解您在寻找什么?
-
@Ramnath 我添加了该图的静态版本,现在看起来与我最终想在 rCharts / slidify 中为演示文稿制作的图非常相似。保持数据不转换的原因只是为了观众......我认为在 rCharts/NVD3 中使用对数刻度是微不足道的,但也许不是因为“放大”控制。